劍指 Offer 55 I 二叉樹的深度

2021-10-10 06:32:49 字數 1038 閱讀 7616

1.深度優先搜尋dfs

(1)遞迴

/**

* definition for a binary tree node.

* public class treenode

* }*/// 深度優先搜尋,遞迴

class solution

// 每便利完一層就+1;

return math.max(maxdepth(root.left),maxdepth(root.right))+1;

}}

(2)堆

/**

* definition for a binary tree node.

* public class treenode

* }*/// 深度優先搜尋,棧

class solution

stack> stack = new stack<>();

int count = 1;

//將根節點入棧,此時深度為1

stack.push(new pair<>(root,count));

while(!stack.isempty())

if(pair.getkey().left!=null)

}return count;

}}

2.廣度優先搜尋bfs

佇列

/**

* definition for a binary tree node.

* public class treenode

* }*/// 廣度優先搜尋,佇列

class solution

queuequeue = new linkedlist<>();

int res=0;

queue.offer(root);

while(!queue.isempty())

if(node.right!=null)

}res++;

}return res;

}}

劍指offer 55 I 二叉樹的深度

輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點 含根 葉節點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最大深度 3 節點總數 10000 數的遍歷可以分為 深度優先搜尋dfs 廣度...

劍指 Offer 55 I 二叉樹的深度

難度簡單27收藏分享切換為英文關注反饋 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點 含根 葉節點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3 definition fo...

劍指 Offer 55 I 二叉樹的深度

劍指 offer 55 i.二叉樹的深度 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點 含根 葉節點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如 給定二叉樹 3,9,20,null,null,15,7 9 20 15 7 返回它的最大深度 3 節點總數 10000 3....