LeetCode-Binary Tree Zigzag Level Order Traversal
2015-03-08 01:03
429 查看
这个请参照level order traversal 不同的就是需要看每次从左还是右输出,维持一个bool 每一层取反就行,然后根据这个bool判断是用add(e) 还是add(0,e)
public class Solution {
public List<List<Integer>> zigzagLevelOrder(TreeNode root) {
Queue<TreeNode> que = new LinkedList<TreeNode>();
List<List<Integer>> ans = new ArrayList<List<Integer>>();
if ( root == null)
return ans;
que.offer(root);
boolean left = true;
while( !que.isEmpty()){
int num = que.size();
List<Integer> list = new ArrayList<Integer>();
for ( int i = 0; i < num; i++ ){
if (que.peek().left != null)
que.offer(que.peek().left);
if( que.peek().right != null)
que.offer(que.peek().right);
if ( left ){
list.add(que.poll().val);
}
else
list.add(0, que.poll().val);
}
left = !left;
ans.add(list);
}
return ans;
}
}
public class Solution {
public List<List<Integer>> zigzagLevelOrder(TreeNode root) {
Queue<TreeNode> que = new LinkedList<TreeNode>();
List<List<Integer>> ans = new ArrayList<List<Integer>>();
if ( root == null)
return ans;
que.offer(root);
boolean left = true;
while( !que.isEmpty()){
int num = que.size();
List<Integer> list = new ArrayList<Integer>();
for ( int i = 0; i < num; i++ ){
if (que.peek().left != null)
que.offer(que.peek().left);
if( que.peek().right != null)
que.offer(que.peek().right);
if ( left ){
list.add(que.poll().val);
}
else
list.add(0, que.poll().val);
}
left = !left;
ans.add(list);
}
return ans;
}
}
相关文章推荐
- LeetCode: Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Zigzag Level Order Traversal
- LeetCode103 Binary Tree Zigzag Level Order Traversal
- Binary Tree ZigZag Level Order Traversal leetcode java
- [Leetcode]Binary Tree Zigzag Level Order Traversal
- LeetCode(103)Binary Tree Zigzag Level Order Traversal
- [leetcode]Binary Tree Zigzag Level Order Traversal
- LeetCode | Binary Tree Zigzag Level Order Traversal(二叉树锯齿形层序输出)
- leetCode(23):Binary Tree Zigzag Level Order Traversal
- LeetCode_binary-tree-zigzag-level-order-traversal
- Leetcode-103(Java) Binary Tree Zigzag Level Order Traversal
- LeetCode -- Binary Tree Zigzag Level Order Traversal
- 【Leetcode】【Medium】Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Zigzag Level Order Traversal
- [leetcode]Binary Tree Zigzag Level Order Traversal @ Python
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- leetcode -- Binary Tree Zigzag Level Order Traversal -- 重点
- 【Leetcode】Binary Tree Level Order Traversal I/II AND Binary Tree Zigzag Level Order Traversal
- leetcode Binary Tree Zigzag Level Order Traversal
- #leetcode#Binary Tree Zigzag Level Order Traversal