二叉樹的最大深度 基礎面試題

2021-10-05 12:51:00 字數 633 閱讀 1659

給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明: 葉子節點是指沒有子節點的節點。

示例:

返回它的最大深度:3

1,採用遞迴思想:

一棵樹樹的最大深度 == 1+左子樹的最大深度+右子樹的最大深度

2,**

public

intmaxdepth

(treenode root )

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

int leftmax =

maxdepth

(root.left)

;//遞迴求出左子樹的深度

int rightmax =

maxdepth

(root.right)

;//遞迴求出右子樹的深度

return1+

(leftmax > rightmax ? leftmax : rightmax)

;}

面試題28 二叉樹的深度

思路 二叉樹的深度等於左右子樹的最大深度加1,顯然利用遞迴。include stdafx.h include include using namespace std struct binarytreenode 求二叉樹的深度 int depth binarytreenode proot int nl...

面試題39 1 二叉樹的深度

遞迴思想 如果一顆樹只有乙個節點,它的深度為1.如果根節點只有左子樹沒有右子樹,那麼它的深度為左子樹的深度加1,同理,只有右子樹沒有左子樹,它的深度為右子樹深度加1,如果既有左子樹又有右子樹,它的深度為左右子樹深度較大的加1。遞迴很容易實現 int findtreedeep bintree bt 非...

面試題55 二叉樹的深度

輸入一棵二叉樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如下圖中的二叉樹的深度為4,因為它從根結點到葉結點最長的路徑包含4個結點 從根結點1開始,經過結點2和結點5,最終到達葉結點7 思路 如果一棵樹只有乙個結點,它的深度為1...