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....