面試題55 二叉樹的深度

2021-08-21 11:03:51 字數 526 閱讀 2730

輸入一棵二叉樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。例如下圖中的二叉樹的深度為4,因為它從根結點到葉結點最長的路徑包含4個結點(從根結點1開始,經過結點2和結點5,最終到達葉結點7)。

思路: ①如果一棵樹只有乙個結點,它的深度為1。

②如果根結點只有左子樹而沒有右子樹,那麼樹的深度應該是其左子樹的深度加1;同樣如果根結點只有右子樹而沒有左子樹,那麼樹的深度應該是其右子樹的深度加1。

③如果既有右子樹又有左子樹,那該樹的深度就是其左、右子樹深度的較大值再加1。

比如在上圖的二叉樹中,根結點為1的樹有左右兩個子樹,其左右子樹的根結點分別為結點2和3。根結點為2的左子樹的深度為3,而根結點為3的右子樹的深度為2,因此根結點為1的樹的深度就是4.

class solution 

};

面試題55 二叉樹的深度

題目一 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。遞迴版本 class solution 非遞迴 層次遍歷 遞迴遍歷,僅僅一行 class solution 迭代版本 class solution return depth...

面試題55 二叉樹的深度

二叉樹的深度 輸入一棵二叉樹的根節點,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。如果一棵樹只有乙個結點,那麼它的深度是1。樹的深度是max 根節點左孩子深度,根節點右孩子深度 1。package com.wsy class tree pu...

面試題55 I 二叉樹的深度

題目 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點 含根 葉節點 形成樹的一條路徑,最長路徑的長度為樹的深度 方法 遞迴左右子樹 遞迴遍歷,取左右子樹的最大深度,加當前根結點的 1 個深度,就是結果 class solution intdfs treenode root in...