劍指Offer55 二叉樹的深度 easy

2021-10-17 07:22:49 字數 722 閱讀 6995

試題鏈結

題目描述:

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

例如輸入:

給定二叉樹 [3,9,20,null,null,15,7],

3

/ \9 20

/ \

15 7

返回它的最大深度 3 。

資料範圍:

節點總數 <= 10000
解題思路:

dfs,深度優先搜尋。

搜尋順序 先左子樹,再右子樹。最後回到此結點,取左右子樹的深度最大值再 +1

遞迴出口是非葉子結點(null),返回即可。

ac**(c++)

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

return

max(

dfs(root-

>left)

,dfs

(root-

>right))+

1;}int

maxdepth

(treenode* root)

};

劍指Offer 55 二叉樹的深度

輸入一棵二叉樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。樣例輸入 二叉樹 8,12,2,null,null,6,4,null,null,null,null 輸出 3 definition for a binary tree no...

劍指offer55二叉樹的深度

使用bfs 與 dfs 兩種方法進行計算 dfs 迭代思想,一直走到底,尋找能走的最長路線。definition for a binary tree node.struct treenode class solution c definition for a binary tree node.str...

劍指offer 55 二叉樹的深度 平衡二叉樹

struct treenode class solution 判斷是否是平衡二叉樹,需要乙個bool和乙個高度 如果左右子樹不是平衡二叉樹則直接返回false 如果左右子樹是平衡二叉樹,那就判斷當前是否是平衡二叉樹 需要左右子樹的高度差絕對值小於等於1,則是平衡二叉樹,否則不是 class solu...