二叉树

中序遍历的定义:

按照访问左子树——根节点——右子树的方式遍历这棵树,而在访问左子树或者右子树的时候我们按照同样的方式遍历,直到遍历完整棵树

root.left--左子树

root.right--右子树

root.val--当前节点的值

输入:root = [1,null,2,3]
输出:[1,3,2]
复制代码
/**
 * @param {TreeNode} root
 * @return {number[]}
 */
var inorderTraversal = function (root, array = []) {
    if (root) {
        inorderTraversal(root.left, array)
        array.push(root.val)
        inorderTraversal(root.right, array)
    }
    return array
}
复制代码

 前序遍历的定义:

按照访问根节点——左子树——右子树的方式遍历这棵树

 后序遍历的定义:

按照访问左子树——右子树——根节点的方式遍历这棵树

 

平衡二叉树:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

 

 这个是平衡二叉树

 

 

 这个不是平衡二叉树

是因为根节点1的左右子树的深度,分别是3和1,差值大于1

 

二叉树的最小深度

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

说明:叶子节点是指没有子节点的节点。

 

 如上图,最小深度就是根节点3到最近叶子节点9的深度,即节点9深度为1,最小深度为1+1=2

posted on   sss大辉  阅读(90)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示