Binary Tree Zigzag Level Order Traversal Java
来源:互联网 发布:MAC PPT合并形状组件 编辑:程序博客网 时间:2024/05/22 06:43
</pre><pre name="code" class="java">/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ /*Key to solve: BFS Trough Tree level by level(BFS) 1.treeCurr List: store TreeNode of current level 2.curr List: store the value of TreeNode of current level into curr List 3.Use a Integer variable to control of => left->right or right->left Check out the detail in coding below */public class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> List=new ArrayList<List<Integer>>(); //check for corner case if(root==null) return List; List<Integer> curr=new ArrayList<Integer>(); List<TreeNode> treeCurr=new ArrayList<TreeNode>(); int level=1; treeCurr.add(root); curr.add(root.val); while(!treeCurr.isEmpty()){ List<TreeNode> tempTree=new ArrayList<TreeNode>(); //insert nodes value of current level inzigzagLevelOrderto Big List List.add(new ArrayList<Integer>(curr)); //clear up of List, to avoid redundant curr.clear(); level++; for(TreeNode n:treeCurr) { if (n.left != null) { tempTree.add(n.left); curr.add(n.left.val); } if (n.right != null) { tempTree.add(n.right); curr.add(n.right.val); } } if(level%2==0){ //Even level: right to left, need to reverse Collections.reverse(curr); } //clone the tempTree List into treeCurr List treeCurr=new ArrayList<TreeNode>(tempTree); } return List; }}
0 0
- Binary Tree Zigzag Level Order Traversal Java
- Binary Tree Zigzag Level Order Traversal (Java)
- Binary Tree Zigzag Level Order Traversal 【Java】
- [Leetcode] Binary Tree Zigzag Level Order Traversal (Java)
- [LeetCode][Java] Binary Tree Zigzag Level Order Traversal
- [leetcode-103]Binary Tree Zigzag Level Order Traversal(java)
- leetcode-java-103. Binary Tree Zigzag Level Order Traversal
- binary-tree-zigzag-level-order-traversal Java code
- LeetCode: Binary Tree Zigzag Level Order Traversal
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Zigzag Level Order Traversal
- [Leetcode] Binary Tree Zigzag Level Order Traversal
- Leetcode: Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Zigzag Level Order Traversal
- [LeetCode] Binary Tree Zigzag Level Order Traversal
- [Leetcode] Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- 【leetcode】Binary Tree Zigzag Level Order Traversal
- HDU 3295 An interesting mobile game
- include在HTML中的用法
- RMQ问题与ST算法
- HTML5----移动鼠标:青蛙,蝴蝶,草丛,池塘滑动-jparallax
- Hdu 4612 Warm up (双连通缩点+树的直径)
- Binary Tree Zigzag Level Order Traversal Java
- onItemClick函数无法响应
- [编程之美] PSet2.7 最大公约数问题
- hdu 2546
- notepad++快捷键
- vlc-android截屏以及录像功能的实现
- NYOJ 488【素数环】
- hdu 2602
- 高效利用你的Xcode