劍指Offer 二叉樹的深度

2021-10-10 18:51:01 字數 1010 閱讀 9002

題目描述:輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。

思路:利用遞迴遍歷分別返回左右子樹深度

public

intmaxdepth

(treenode root)

int max = integer.min_value;

if(root.left == null && root.right == null)

if(root.left != null)

if(root.right != null)

return max +1;

}

題目描述:輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。

思路:平衡二叉樹的條件:左子樹是平衡二叉樹,右子樹是平衡二叉樹,左右子樹高度不超過 1

public

boolean

isbalanced

(treenode root)

if(root.left == null && root.right == null)

return math.

abs(

maxdepth

(root.left)

-maxdepth

(root.right)

)<=1&&

isbalanced

(root.left)

&&isbalanced

(root.right);}

public

intmaxdepth

(treenode root)

int max = integer.min_value;

if(root.left == null && root.right == null)

if(root.left != null)

if(root.right != null)

return max +1;

}

劍指offer 二叉樹的深度

輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。如果二叉樹只有根節點那麼深度就是1,如果只有左子樹,那麼就是左子樹的深度加1就是整棵二叉樹的深度 如果只有右子樹,那麼二叉樹的深度就是右子樹的深度加1 如果既有左子樹又有右子樹,那...

劍指offer 二叉樹的深度

輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。思路 面對樹形結構,我們常用的演算法就是遞迴,根樹的每一塊子樹都可以看成一棵小的完整的樹,這位我們解題提供了很好的思路。如果一開始傳入的就是空的那麼深度就是0,如果不是0,那麼這顆...

劍指offer 二叉樹的深度

class solution def treedepth self,proot write code here if proot none return 0 return max 1 self.treedepth proot.left 1 self.treedepth proot.right 非常簡...