題目:
輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。
思路:求深度,第一次能想到的方法就是遞迴,但是除了遞迴還有層次遍歷,本文提供遞迴和層次遍歷兩種解法。遞迴思想就是
求左右子樹,然後深度各加一,再比較哪個大,然後返回哪個。層次遍歷思想就是一層一層的遍歷,把該層節點用佇列收起,然後彈出,
最後對該層計數(該層要麼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 二叉樹的深度
題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。這個就是採取遞迴的方法,單獨寫乙個函式,引數是乙個節點和該節點所在的深度,每次講節點改為左右子樹節點進行遞迴,直到節點為空,將此時的深度與目前的最大深度比較取最大值即可。...