Binary Tree Zigzag Level Order Traversal
2013-08-20 05:10
302 查看
public ArrayList<ArrayList<Integer>> zigzagLevelOrder(TreeNode root) { // Start typing your Java solution below // DO NOT write main() function ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>(); if(root == null) return result; LinkedList<TreeNode> level = new LinkedList<TreeNode>(); level.add(root); boolean flag = true; while(!level.isEmpty()) { int size = level.size(); ArrayList<Integer> subResult = new ArrayList<Integer>(); for(int i = 0; i < size; i++) { TreeNode tmp = level.remove(); if(tmp.left != null) level.add(tmp.left); if(tmp.right != null) level.add(tmp.right); if(flag == true) subResult.add(tmp.val); else subResult.add(0, tmp.val); } flag = (flag == true) ? false : true; result.add(subResult); } return result; } public ArrayList<ArrayList<Integer>> zigzagLevelOrder(TreeNode root) { // Start typing your Java solution below // DO NOT write main() function ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>(); if(root == null)return result; LinkedList<TreeNode> level = new LinkedList<TreeNode>(); level.add(root); level.add(null); boolean flag = true; while(!level.isEmpty()) { ArrayList<Integer> sub = new ArrayList<Integer>(); while(!level.isEmpty()) { TreeNode tmp = level.remove(); if(tmp == null) { if(!level.isEmpty()) level.add(null); break; }else { if(flag == true) sub.add(tmp.val); else sub.add(0, tmp.val); if(tmp.left != null) level.add(tmp.left); if(tmp.right != null) level.add(tmp.right); } } result.add(sub); flag = (flag == true) ? false : true; } return result; }
相关文章推荐
- leetcode:Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 【leetcode】Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- leetcode 日经贴,Cpp code -Binary Tree Zigzag Level Order Traversal
- [Lintcode]Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal,bfs,层序遍历
- Leetcode | Binary Tree Zigzag Level Order Traversal
- 算法系列——Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- 15 minutes - Binary Tree Zigzag level order traversal
- Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 【LeetCode】Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- Leetcode 103 Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 70_leetcode_Binary Tree Zigzag level order traversal
- Tree-----宽度优先遍历2(103. Binary Tree Zigzag Level Order Traversal)