JZ38 Day3 求二叉樹的深度

2021-10-08 03:52:23 字數 764 閱讀 3076

題目

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

方法1:遞迴

求一棵樹的深度,就是通過比較它的左右子樹的深度,若右子樹深度深,則這棵樹深度為右子樹深度+1

public

class

jz38

}public

static

inttreedepth

(treenode root)

}public

static

void

main

(string[

] args)

//執行結果就是為1(因為test的樹結構就是根節點為6,左右子樹都為null)

}

方法2:利用佇列 廣度優先演算法
class

solution

int res =0;

queue

queue =

newlinkedlist

();//佇列記錄每一層的節點

queue.

offer

(root)

;while

(!queue.

isempty()

)if(cur.right != null)

} res++;}

return res;

}}

38 二叉樹的深度

題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。解法1 遞迴版,首先,給出遞迴結束的條件,當樹為空時,深度為零,接下來,就是一層一層的遞迴了,比較左右子數的深度,其中值較大的作為當前子節點所在層的深度,則父節點的深度為...

38 二叉樹的深度

2.利用層序遍歷 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。classname solution description todo date 2019 12 22 12 36 author sonnsei public c...

38 二叉樹的深度

輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。示例 給定二叉樹 3,9,20,null,null,15,7 遞迴的方法,比較左邊路徑和右邊路徑哪邊最長,選擇最長的一邊路徑,加上root結點本身的長度。class solutio...