mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 14:18:20 +08:00 
			
		
		
		
	* Fix the comment in array_deque.go * Fix the comment in bucket_sort.c * Translate the Java code comments to Chinese * Bug fixes * 二分查找 -> 二分搜尋 * Harmonize comments in `utils` between multiple programming languages
		
			
				
	
	
		
			36 lines
		
	
	
		
			882 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			882 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/**
 | 
						|
 * File: TreeNode.js
 | 
						|
 * Created Time: 2022-12-04
 | 
						|
 * Author: IsChristina (christinaxia77@foxmail.com)
 | 
						|
 */
 | 
						|
 | 
						|
/* 二叉树节点 */
 | 
						|
class TreeNode {
 | 
						|
    val; // 节点值
 | 
						|
    left; // 左子节点指针
 | 
						|
    right; // 右子节点指针
 | 
						|
    height; //节点高度
 | 
						|
    constructor(val, left, right, height) {
 | 
						|
        this.val = val === undefined ? 0 : val;
 | 
						|
        this.left = left === undefined ? null : left;
 | 
						|
        this.right = right === undefined ? null : right;
 | 
						|
        this.height = height === undefined ? 0 : height;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
/* 将数组反序列化为二叉树 */
 | 
						|
function arrToTree(arr, i = 0) {
 | 
						|
    if (i < 0 || i >= arr.length || arr[i] === null) {
 | 
						|
        return null;
 | 
						|
    }
 | 
						|
    let root = new TreeNode(arr[i]);
 | 
						|
    root.left = arrToTree(arr, 2 * i + 1);
 | 
						|
    root.right = arrToTree(arr, 2 * i + 2);
 | 
						|
    return root;
 | 
						|
}
 | 
						|
 | 
						|
module.exports = {
 | 
						|
    TreeNode,
 | 
						|
    arrToTree,
 | 
						|
};
 |