劍指offer python 55 平衡二叉樹

2021-09-25 10:04:36 字數 664 閱讀 2173

平衡二叉樹左右子樹高度差不超過 1。

如果二叉樹的每個節點的左子樹和右子樹的深度不大於1,它就是平衡二叉樹。先寫乙個求深度的函式,再對每乙個節點判斷,看該節點的左子樹的深度和右子樹的深度的差是否大於1

class

solution

:def

isbalanced_solution

(self, proot)

:# write code here

defdepth

(proot):if

not proot:

return

0return1+

max(depth(proot.left)

,depth(proot.right))if

not proot:

return

true

l = depth(proot.left)

r = depth(proot.right)

ifabs

(l-r)

<=1:

return self.isbalanced_solution(proot.left)\

and self.isbalanced_solution(proot.right)

return

false

劍指offer python 55 二叉樹的深度

從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。利用遞迴實現。如果一棵樹只有乙個結點,那麼它的深度為1。遞迴的時候無需判斷左右子樹是否存在,因為如果該節點為葉節點,它的左右子樹不存在,那麼在下一級遞迴的時候,直接return 0。同時,記得每次遞迴返回值的時...

劍指offer(Python)替換空格

這道題要求是 將乙個字串中的空格替換成 20 有多少個空格就替換成多少個 20 例如 hello world 中間有兩個空格,則需要輸出的形式是 hello 20 20world 字串首尾的空格亦算在內。class solution def replacespace self,s return 20...

劍指offer Python 替換空格

請實現乙個函式,將乙個字串中的每個空格替換成 20 python字串,有replace方法,可以實現替換,第乙個引數是要替換的內容,第二個引數是替換的新內容 能夠快速完成,果然python作為一種高階語言,不太適合做演算法 但是 replace 相當於 insert 在替換 時,會將原字串元素的位置...