leetcode 102 劍指Offer 32 二叉樹的層次遍歷
思路不難,直接用佇列迭代就可以。
遍歷過程如下:
程式碼如下:
public class offer32 {
public List<List<Integer>> levelOrder(TreeNode root) {
List<List<Integer>> ans = new LinkedList<>();
Deque<TreeNode> deque = new LinkedList<>();
if (root == null) return ans;
deque.addLast(root);
while (deque.size() != 0) {
int size = deque.size();
List<Integer> an = new LinkedList<>();
while (size > 0) {
TreeNode node = deque.pollFirst();
an.add(node.val);
if (node.left != null) deque.addLast(node.left);
if (node.right != null) deque.addLast(node.right);
size--;
}
ans.add(an);
}
return ans;
}
}
相關文章
- [Leetcode]102.二叉樹的層次遍歷LeetCode二叉樹
- LeetCode102.二叉樹的層序遍歷LeetCode二叉樹
- 劍指offer:輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。二叉樹
- 劍指offer——重建二叉樹二叉樹
- 【劍指offer】二叉樹深度二叉樹
- 劍指offer(四)重建二叉樹二叉樹
- 通過層次遍歷計算二叉樹的層數二叉樹
- 劍指 Offer 32 - III. 從上到下列印二叉樹 III二叉樹
- 二叉樹的層序遍歷二叉樹
- 二叉樹的按層遍歷二叉樹
- 建立二叉樹:層次遍歷--樹的寬度高度,後序遍歷--祖先節點二叉樹
- 劍指Offer-40-二叉樹的深度二叉樹
- 劍指offer——二叉樹的映象C++二叉樹C++
- 【劍指offer】27. 二叉樹的映象二叉樹
- 劍指offer——二叉樹的深度C++二叉樹C++
- 《劍指offer》:[59]對稱的二叉樹二叉樹
- 《劍指offer》:[39]求解二叉樹的深度二叉樹
- 層序遍歷二叉樹二叉樹
- 劍指 Offer 07. 重建二叉樹二叉樹
- 【劍指offer】判斷二叉樹平衡二叉樹
- 採用層次遍歷判斷二叉樹為完全二叉樹二叉樹
- 劍指offer | 55 - I. 二叉樹的深度二叉樹
- 二叉樹:構造二叉樹(通過前序和中序遍歷)、映象翻轉、層次遍歷二叉樹
- [劍指offer] 把二叉樹列印成多行二叉樹
- 《劍指offer》:[62]序列化二叉樹二叉樹
- 劍指 Offer 32 - I. 從上到下列印二叉樹(java解題)二叉樹Java
- 【劍指offer】5.二叉樹的映象和列印二叉樹
- 力扣 - 劍指 Offer 27. 二叉樹的映象力扣二叉樹
- [LintCode]BinaryTreeLevelOrderTraversal(二叉樹的層次遍歷)二叉樹
- 《劍指offer》:[60]把二叉樹列印成多行二叉樹
- 【劍指offer】從上向下列印二叉樹二叉樹
- 【LeetCode-二叉樹】二叉樹前序遍歷LeetCode二叉樹
- LeetCode-107-二叉樹的層序遍歷 IILeetCode二叉樹
- LeetCode 劍指offer——從上到下列印二叉樹 II、從上到下列印二叉樹 IIILeetCode二叉樹
- 劍指 Offer 32 - II. 從上到下列印二叉樹 II 做題筆記二叉樹筆記
- 劍指offer刷題筆記-32.從上到下列印二叉樹 進階筆記二叉樹
- # 劍指 Offer 68 - II. 二叉樹的最近公共祖先二叉樹
- 《劍指offer》:[58]二叉樹的下一個結點二叉樹