Binary Tree Level Order Traversal II - LeetCode
2014-02-22 14:30
267 查看
随笔自用
http://oj.leetcode.com/problems/binary-tree-level-order-traversal-ii/
ArrayList非常神奇的特性,如果指定一位插入元素,这位已经有元素了,那么仍然会插入新元素,后面的元素一次往后挪动一位。
public class Solution {
public ArrayList<ArrayList<Integer>> levelOrderBottom(TreeNode root) {
ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>();
if (root == null) {
return result;
}
Queue<TreeNode> queue = new LinkedList<TreeNode>();
queue.offer(root);
int currLevelNodeNum = 1;
int nextLevelNodeNum = 0;
while (currLevelNodeNum != 0) {
ArrayList<Integer> currLevelResult = new ArrayList<Integer>();
nextLevelNodeNum = 0;
while (currLevelNodeNum != 0) {
TreeNode node = queue.poll();
currLevelNodeNum--;
currLevelResult.add(node.val);
if (node.left != null) {
queue.offer(node.left);
nextLevelNodeNum++;
}
if (node.right != null) {
queue.offer(node.right);
nextLevelNodeNum++;
}
}
result.add(0, currLevelResult);
currLevelNodeNum = nextLevelNodeNum;
}
return result;
}
}
喜欢的解法
http://www.cnblogs.com/TenosDoIt/p/3440542.html
http://oj.leetcode.com/problems/binary-tree-level-order-traversal-ii/
ArrayList非常神奇的特性,如果指定一位插入元素,这位已经有元素了,那么仍然会插入新元素,后面的元素一次往后挪动一位。
public class Solution {
public ArrayList<ArrayList<Integer>> levelOrderBottom(TreeNode root) {
ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>();
if (root == null) {
return result;
}
Queue<TreeNode> queue = new LinkedList<TreeNode>();
queue.offer(root);
int currLevelNodeNum = 1;
int nextLevelNodeNum = 0;
while (currLevelNodeNum != 0) {
ArrayList<Integer> currLevelResult = new ArrayList<Integer>();
nextLevelNodeNum = 0;
while (currLevelNodeNum != 0) {
TreeNode node = queue.poll();
currLevelNodeNum--;
currLevelResult.add(node.val);
if (node.left != null) {
queue.offer(node.left);
nextLevelNodeNum++;
}
if (node.right != null) {
queue.offer(node.right);
nextLevelNodeNum++;
}
}
result.add(0, currLevelResult);
currLevelNodeNum = nextLevelNodeNum;
}
return result;
}
}
喜欢的解法
http://www.cnblogs.com/TenosDoIt/p/3440542.html
相关文章推荐
- 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
- Binary Tree Level Order Traversal II(LeetCode)
- Leetcode 107 Binary Tree Level Order Traversal II
- leetcode~Binary Tree Level Order Traversal II
- leetcode(107):Binary Tree Level Order Traversal II
- LeetCode Algorithms #107 <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之Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II --- LeetCode
- LeetCode-Binary Tree Level Order Traversal II
- leetcode:Binary Tree Level Order Traversal II
- leetcode Binary Tree Level Order Traversal II
- [LeetCode13]Binary Tree Level Order Traversal II