使用bfs 與 dfs 兩種方法進行計算:
dfs:
迭代思想,一直走到底,尋找能走的最長路線。
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution };
~~~c/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution
int n =0;
queue
> q;
q.push
(root)
;while
(!q.
empty()
) n++;}
return n;}}
;
如何做到層次遍歷呢?關鍵點在於每次傳入的這一部分:
size為這一層的全部節點,傳入後在下次迴圈中全部pop出很棒
劍指Offer 55 二叉樹的深度
輸入一棵二叉樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。樣例輸入 二叉樹 8,12,2,null,null,6,4,null,null,null,null 輸出 3 definition for a binary tree no...
劍指Offer55 二叉樹的深度 easy
試題鏈結 題目描述 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點 含根 葉節點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如輸入 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3 資料範圍 節點總數 10000解題思路 d...
劍指offer 55 二叉樹的深度 平衡二叉樹
struct treenode class solution 判斷是否是平衡二叉樹,需要乙個bool和乙個高度 如果左右子樹不是平衡二叉樹則直接返回false 如果左右子樹是平衡二叉樹,那就判斷當前是否是平衡二叉樹 需要左右子樹的高度差絕對值小於等於1,則是平衡二叉樹,否則不是 class solu...