91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java二叉樹的深度舉例分析

發布時間:2021-12-13 14:58:58 來源:億速云 閱讀:110 作者:iii 欄目:大數據

本篇內容介紹了“Java二叉樹的深度舉例分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

題目

輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。

分析

求該樹的深度,主要就是看最長路徑。比如下圖的深度為5,最長的路徑為34,99,35,64,77Java二叉樹的深度舉例分析

那應該怎么做?這里用遞歸,如果當前節點沒有左右節點,就返回當前節點,如果有左右節點,就返回左右節點的,比較左節點和右節點的深度,誰的深度大就返回那個。這樣就可以獲得樹的最大深度啦。

解法

public int TreeDepth(TreeNode root) {
       if(root==null){
           return 0;
       }

       int left=TreeDepth(root.left);
       int right=TreeDepth(root.right);
       if(left>right){
           return left+1;
       }
       return right+1;

   }

上面主要注意的是left+1 和right+1;為什么要加一呢,因為我們遞歸的出口是當前節點為null ,返回0,為1個節點的話返回1.

測試

測試main方法

public static void main(String[] args) {
       TreeNode root =new TreeNode(34);
       root.left=new TreeNode(23);
       root.right=new TreeNode(99);
       root.left.left=new TreeNode(1);
       root.left.right=new TreeNode(27);
       root.right.left=new TreeNode(35);
       root.right.left.right=new TreeNode(64);
       root.right.left.right.right=new TreeNode(77);
       TreeOperation.show(root);
       Solution solution= new Solution();
       System.out.println(solution.TreeDepth(root));
   }

Java二叉樹的深度舉例分析

“Java二叉樹的深度舉例分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁德市| 长海县| 遂宁市| 莱西市| 施甸县| 武功县| 慈利县| 内江市| 林西县| 化德县| 铜川市| 榆中县| 华宁县| 高邮市| 和政县| 常宁市| 广南县| 朝阳县| 肥东县| 武宣县| 金阳县| 海兴县| 正蓝旗| 克什克腾旗| 郎溪县| 峡江县| 铁岭县| 安国市| 肇州县| 虎林市| 宕昌县| 金沙县| 金乡县| 浦江县| 盘山县| 尼勒克县| 宜兰县| 许昌县| 巢湖市| 玉田县| 文化|