劍指offer python 55 二叉樹的深度

2021-09-25 10:04:36 字數 470 閱讀 5595

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

利用遞迴實現。如果一棵樹只有乙個結點,那麼它的深度為1。遞迴的時候無需判斷左右子樹是否存在,因為如果該節點為葉節點,它的左右子樹不存在,那麼在下一級遞迴的時候,直接return 0。同時,記得每次遞迴返回值的時候,深度加一操作,因為計算深度是從根節點下面乙個節點開始計算的。

class

solution

:def

treedepth

(self, proot)

:# write code here

ifnot proot:

return

0return

max(

1+self.treedepth(proot.left),1

+self.treedepth(proot.right)

)

劍指offer python 55 平衡二叉樹

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

劍指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 在替換 時,會將原字串元素的位置...