二叉树的深度怎么算(Java代码实现)

二叉树的深度怎么算(Java代码实现)

2023年6月22日发(作者:)

⼆叉树的深度怎么算(Java代码实现)题⽬:输⼊⼀棵⼆叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的⼀条路径,最长路径的长度为树的深度。⽰例:给定⼆叉树返回它的最⼤深度 3 。解题思路:我们可以使⽤⼴度优先遍历的⽅式,逐层遍历,每遍历⼀层,我们就让变量count++,最后返回count即可。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public int maxDepth(TreeNode root) { if(root == null) return 0; LinkedList tree = new LinkedList(); int count = 0; (root); //判断树是否为空 while(!y()){ //存放下⼀层节点的临时变量 LinkedList temp = new LinkedList(); //每遍历⼀层count++ count++; //弹出每层的节点并遍历他们下层是否还有节点,如果有那么放到temp中 for(int i = (); i > 0; i--){ TreeNode node = (); if( != null) (); if( != null) (); } //让tree指向下⼀层节点 tree = temp; } return count; }}⼒扣战绩:当然还有更⽜⽪的算法。求⼆叉树的深度,其实就是求最长的左右⼦树的深度再加上根节点的1。我们利⽤递归的⽅式,⼀直往下遍历左右⼦树的节点,然后找到左右⼦树中深度最⼤的再加上1,就得到树的深度了。class Solution { public int maxDepth(TreeNode root) { if(root == null) return 0; return (maxDepth(), maxDepth()) + 1; }}⼒扣战绩:

发布者:admin,转转请注明出处:http://www.yc00.com/news/1687381164a5787.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信