劍指offer 38 二叉樹的深度

2021-07-31 13:08:40 字數 696 閱讀 9428

題目:

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

思路:求深度,第一次能想到的方法就是遞迴,但是除了遞迴還有層次遍歷,本文提供遞迴和層次遍歷兩種解法。遞迴思想就是

求左右子樹,然後深度各加一,再比較哪個大,然後返回哪個。層次遍歷思想就是一層一層的遍歷,把該層節點用佇列收起,然後彈出,

最後對該層計數(該層要麼0,要麼1)。

遞迴版本:

/*

struct treenode

};*/

class solution

}};

層次遍歷版本:

/*

struct treenode

};*/

class solution

}return depth;

}};

劍指offer 38 二叉樹的深度

輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。時間限制 1秒 空間限制 32768k 熱度指數 122264 廣度遍歷,佇列儲存結點,變數lh儲存上一行的最後乙個結點的位置,變數num儲存已經入隊的結點數量 當訪問的結點為上一...

劍指offer 38 二叉樹的深度

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

劍指offer 38 二叉樹的深度

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