1. 程式人生 > 實用技巧 >自定義線性結構---棧

自定義線性結構---棧

技術標籤:《劍指offer》二叉樹演算法leetcode資料結構面試

劍指 Offer 55 - I. 二叉樹的深度

題目描述:

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

示例:

給定二叉樹 [3,9,20,null,null,15,7],
在這裡插入圖片描述
返回它的最大深度 3 。

思路:

遞迴求左子樹和右子樹深度,然後比較,最終返回最大值加1

程式碼:

let maxDepth = function(root) {
    if(root == null)
        return 0
    let left =
maxDepth(root.left); let right = maxDepth(root.right); return (left>right)?left+1:right+1 };