Leetcode Binary Tree Level Order Traversal II 二叉树分层遍历
2015-05-11 14:16
441 查看
题目:
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
{3,9,20,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its bottom-up level order traversal as:
[ [15,7], [9,20], [3] ]
分析:
和第一题目一样,只是需要在加入每层节点的时候都加在ArrayList的第一个。用下面这个函数:public void add(int index, E element)
Inserts the specified element at the specified position in this list. Shifts the element currently at that position (if any) and any subsequent elements to the right
(adds one to their indices).
Java代码实现:
/*** Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public List<List<Integer>> levelOrderBottom(TreeNode root) {
List<List<Integer>> result = new ArrayList<List<Integer>>();
if(root==null)
return result;
Queue<TreeNode> q = new LinkedList<TreeNode>();
q.offer(root);
while(!q.isEmpty())
{
int size = q.size();
ArrayList<Integer> temp = new ArrayList<Integer>();
for(int i=0;i<size;i++)
{
TreeNode node = q.poll();
temp.add(node.val);
if(node.left!=null)
q.offer(node.left);
if(node.right!=null)
q.offer(node.right);
}
result.add(0, temp);
}
return result;
}
}
相关文章推荐
- leetcode - Binary Tree Level Order Traversal II
- leetcode - Binary Tree Level Order Traversal II
- LeetCode: 107_Binary Tree Level Order Traversal II | 二叉树自底向上的层次遍历 | Easy
- 71_leetcode_Binary Tree Level order traversalII
- LeetCode 107:Binary Tree Level Order Traversal II
- LeetCode | Binary Tree Level Order Traversal II(二叉树层序遍历II)
- [LeetCode]Binary Tree Level Order Traversal II
- LeetCode-107-Binary Tree Level Order Traversal II(二叉树级序遍历<2>)
- 【LeetCode】BinaryTreeLevelOrderTraversal_ii 二叉树的层次遍历 II
- [leetcode] Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- [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
- Leetcode-107(Java) Binary Tree Level Order Traversal II
- LeetCode - Binary Tree Level Order Traversal II
- 107[Leetcode].Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II (二叉树颠倒层序)
- LeetCode Binary Tree Level Order Traversal II