Maximum Depth of Binary Tree-求二叉树高度

Maximum Depth of Binary Tree-求二叉树高度非递归:publicstaticintmaxDepth(TreeNoderoot){if(root==null)return0;Queueq=newLinkedList();q.offer(root);intenQu…

大家好,欢迎来到IT知识分享网。Maximum

非递归:
public static int maxDepth(TreeNode root){ if(root==null) return 0; Queue<TreeNode> q=new LinkedList<TreeNode>(); q.offer(root); int enQueNum=1; int visitedNum=0; int lastLevNum=1; //做标记 标记到每层最后的节点 当visitedNum与它相等时本层结束 int height=0; while(!q.isEmpty()){ TreeNode now=q.poll(); visitedNum++; if(now.left!=null){ q.offer(now.left); enQueNum++; } if(now.right!=null){ q.offer(now.right); enQueNum++; } if(visitedNum==lastLevNum){ height++; lastLevNum=enQueNum;//lastLevNum的值赋为此时最后进队列的节点数值也是本层的最后节点 } } return height; }

 递归:

public static int maxDepth2(TreeNode root){
            if(root==null) return 0;            
            int leftHeight=0;
            int rightHeight=0;
            leftHeight=maxDepth2(root.left);
            rightHeight=maxDepth2(root.right);
            return leftHeight>rightHeight?leftHeight+1:rightHeight+1;
     }

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34524.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信