劍指offer之二叉樹的深度

2021-08-29 05:24:06 字數 548 閱讀 6745

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

方法一:

可以使用遞迴的方法,分別求左子樹和右子樹的深度,則樹的深度是:更大者 + 1。這是乙個遞迴的方法。

方法二:

使用層次遍歷的方法,每訪問一層,則深度+1,所有層的訪問結束之後,就等到深度了。這裡需要使用到乙個佇列,來幫助我們層次遍歷,這不是乙個遞迴的方法

方法一:

int

treedepth

(treenode* proot)

方法二:

int

treedepth

(treenode* proot)

if(node->right !=

null)if

(curcount ==0)

}return deep;

}

劍指Offer之 二叉樹的深度

題目 1 求二叉樹的最大深度和最小深度。2 判斷一棵二叉樹是不是平衡二叉樹。include using namespace std struct binarytreenode binarytreenode int value m nvalue value m pleft null m pright ...

劍指Offer之二叉樹的深度

題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。輸入 第一行輸入有n,n表示結點數,結點號從1到n。根結點為1。n 10。接下來有n行,每行有兩個個整型a和b,表示第i個節點的左右孩子孩子。a為左孩子,b為右孩子。當a...

劍指offer 二叉樹的深度

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