輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。
輸入此樹的深度=左子樹的深度與右子樹的深度中的最大值 +1。返回值4
/**
1.時間複雜度:o(n)
n 為樹的節點數量,計算樹的深度需要遍歷所有節點。
2.空間複雜度:o(n)
最差情況下(當樹退化為鍊錶時),遞迴深度可達到 n 。
**/class solution
return 1 + max(treedepth(proot->left), treedepth(proot->right));
}};
/**
1.時間複雜度 o(n): n 為樹的節點數量,計算樹的深度需要遍歷所有節點。
2.空間複雜度 o(n): 最差情況下(當樹平衡時),佇列 queue 同時儲存 n/2 個節點。
**/class solution
level += 1;
}return level;
}};
劍指offer 38 二叉樹的深度
題目 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。思路 求深度,第一次能想到的方法就是遞迴,但是除了遞迴還有層次遍歷,本文提供遞迴和層次遍歷兩種解法。遞迴思想就是 求左右子樹,然後深度各加一,再比較哪個大,然後返回哪個。層次...
劍指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...