Binary Tree Level Order Traversal II
2013-09-14 05:35
176 查看
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).
For example:
Given binary tree
return its bottom-up level order traversal as:
For example:
Given binary tree
{3,9,20,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its bottom-up level order traversal as:
[ [15,7] [9,20], [3], ] 解题思路: 使用BFS遍历树,将每一层放入一个ArrayList中。当一层结束后,将这个ArrayList插到最终的List的头部。
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public ArrayList<ArrayList<Integer>> levelOrderBottom(TreeNode root) { // Start typing your Java solution below // DO NOT write main() function ArrayList<TreeNode> queue = new ArrayList<TreeNode>(); ArrayList<ArrayList<Integer>> r = new ArrayList<ArrayList<Integer>>(); if(root == null) return r; queue.add(root); TreeNode nl = new TreeNode(999);//999 是一个singal,表示一层结束了。 queue.add(nl); ArrayList<Integer> cur = new ArrayList<Integer>(); while(queue.size() != 1){ TreeNode rn = queue.remove(0); if(rn.val == 999){ queue.add(nl); r.add(0,cur); cur = new ArrayList<Integer>(); } else{ if(rn.left != null) queue.add(rn.left); if(rn.right != null) queue.add(rn.right); cur.add(rn.val); } } r.add(0,cur); return r; } }
相关文章推荐
- Binary Tree Level Order Traversal II
- LeetCode(26)-Binary Tree Level Order Traversal II
- 【遍历二叉树】06二叉树曲折(Z字形)层次遍历II【Binary Tree Zigzag Level Order Traversal】
- BFS Binary Tree Level Order Traversal II
- leetcode之Binary Tree Level Order Traversal II
- LeetCode--Binary Tree Level Order Traversal II
- 107. Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- 107-Binary Tree Level Order Traversal II
- LeetCode 107 Binary Tree Level Order Traversal II(二叉树的层级顺序遍历2)(*)
- Leetcode 107 Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II 解答
- LeetCode Binary Tree Level Order Traversal II (二叉树颠倒层序)
- leetcode~Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- 【Leetcode】Binary Tree Level Order Traversal II (Tree Traversal)
- LeetCode刷题笔录Binary Tree Level Order Traversal II
- [leetcode]Binary Tree Level Order Traversal II
- Leetcode 107 Binary Tree Level Order Traversal II
- 【leetcode 层序遍历】Binary Tree Level Order Traversal II