LeetCode平衡二叉樹(Python)

題目 解題思路 很容易想到用遞歸,左右子樹的高度差即最大深度差,再寫一個返回最大深度的函數即可: 執行結果爲: 但是這樣的話最壞情況時間複雜度已經達到O(n2)了,主要是每一個節點都要查詢左右子樹的最大深度,即遞歸調用isBalanced()時每一個isBalanced()函數中都包含兩個完整的maxdepth()的遞歸,所以同一個節點會被maxdepth調用很多次,有重複計算,所以應該針對這一點
相關文章
相關標籤/搜索