1.01^365=31.78 (Lucene、ES、ELK开发交流群: 370734940)

Engineers are versatile minds who create links between science, technology, and society.

【死磕算法系列】二叉树的深度

一、递归实现

public void treeDepth(TreeNode node){
   if(node == null){
     return 0;
   }
   int leftDepth=treeDepth(node.left);
   int rightDepth=treeDepth(node.right);
   return leftDepth>rightDepth?(leftDepth+1):(rightDepth+1);
}

二、非递归实现

public void treeDepthByQuene(TreeNode node){
   if(node == null){
      return 0;
   }
   Queue<TreeNode> queue=new LinkedList<TreeNode>();
   queue.add(node);
   int cur,last;
   int depth=0;
   TreeNode current=null;
   while(!queue.isEmpty()){
      cur=0;
      last=queue.size();
      while(cur<last){
         current=queue.poll();
         cur++;
         if(current.left!=null){
            queue.add(current.left);
         }
         if(current.right!=null){
            queue.add(current.right);
         }
      } 
      depth++;
   }
   return depth;
}
阅读更多

扫码向博主提问

去开通我的Chat快问

napoay

博客专家

熟悉Lucene、ES、ELK
版权声明:本文为博主原创文章,未经博主允许禁止转载(http://blog.csdn.net/napoay) https://blog.csdn.net/napoay/article/details/78884653
个人分类: 数据结构与算法
所属专栏: 数据结构与算法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

【死磕算法系列】二叉树的深度

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭