劍指offer 38 二叉樹的深度

2021-09-10 21:54:42 字數 425 閱讀 8423

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

時間限制:1秒 空間限制:32768k 熱度指數:122264

廣度遍歷,佇列儲存結點,變數lh儲存上一行的最後乙個結點的位置,變數num儲存已經入隊的結點數量

當訪問的結點為上一行最後乙個結點時,更改上一行最後乙個結點的值為當前已經入隊的結點數(因為此時已經將上一行的所有子節點都入隊了)

迴圈1,2至隊空

/*

struct treenode

};*/

class solution

if(a->right!=null)

if(++current==lh)

}return h;}}

};

劍指offer 38 二叉樹的深度

題目 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。思路 求深度,第一次能想到的方法就是遞迴,但是除了遞迴還有層次遍歷,本文提供遞迴和層次遍歷兩種解法。遞迴思想就是 求左右子樹,然後深度各加一,再比較哪個大,然後返回哪個。層次...

劍指offer 38 二叉樹的深度

38.二叉樹的深度 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。struct treenode 1 class solution else 13 14 return 0 15 16 17 int treedepth tree...

劍指offer 38 二叉樹的深度

題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。這個就是採取遞迴的方法,單獨寫乙個函式,引數是乙個節點和該節點所在的深度,每次講節點改為左右子樹節點進行遞迴,直到節點為空,將此時的深度與目前的最大深度比較取最大值即可。...