JZ38-二叉树深度

二叉树的深度

http://www.nowcoder.com/questionTerminal/435fb86331474282a3499955f0a41e8b

  1. BFS层序遍历:
    import java.util.List;
    import java.util.LinkedList;
    public class Solution {
     public int TreeDepth(TreeNode root) {
         if(root == null) return 0;
         List<TreeNode> queue = new LinkedList<>();
         queue.add(root);
         List<TreeNode> tmp;
         int res = 0;
         while(!queue.isEmpty())
         {
             tmp = new LinkedList<>();
             for(TreeNode node : queue)
             {
                 if(node.left != null) tmp.add(node.left);
                 if(node.right != null) tmp.add(node.right);
             }
             queue = tmp;
             res++;
         }
         return res;
    }
    }
  2. DFS深度优先遍历(实际上是后续遍历)
    public class Solution {
     public int TreeDepth(TreeNode root) {
         if(root == null)
             return 0;
         int lval = TreeDepth(root.left);
         int rval = TreeDepth(root.right);
         return Math.max(lval , rval) + 1;
     }
    }
全部评论

相关推荐

头像
昨天 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务