二叉树的最大最小深度

    xiaoxiao2021-03-25  172

    二叉树的最大深度指的是从根节点到最远子节点的长度。 function maxDepth(root) { if(root == null){ return 0; }else if(root.left == null && root.right == null){ return 1 }else{ var leftMaxLen = arguments.callee(root.left); var rightMaxLen = arguments.callee(root.right); return leftMaxLen > rightMaxLen ? leftMaxLen +1 : rightMaxLen +1 } }; 二叉树的最小深度:根节点到最近子节点的长度 function minDepth(root) { if(root == null){ return 0; }else if(root.left == null && root.right == null){ return 1 }else{ var leftMinLen = arguments.callee(root.left); var rightMinLen = arguments.callee(root.right); if(root.left == null){ return rightMinLen + 1; }else if(root.right == null){ return leftMinLen + 1; }else{ return leftMinLen > rightMinLen ? rightMinLen +1 : leftMinLen +1 } } };

    求最小深度的时候,有可能存在斜树的情况,即没有左子树或者是右子树。解决办法是左(右)子树为空时输出右(左)子树的深度,只有两者都不为空时,输出两者之间的最小值。

    转载请注明原文地址: https://ju.6miu.com/read-3333.html

    最新回复(0)