LeetCode - Binary Tree Zigzag Level Order Traversal
2014-07-08 10:42
447 查看
作者:disappearedgod
文章出处:/article/3730169.html
时间:2014-5-26
Total Accepted: 11074 Total
Submissions: 41859My Submissions
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).
For example:
Given binary tree
return its zigzag level order traversal as:
confused what
read more on how binary tree is serialized on OJ.
多次提交后AC
文章出处:/article/3730169.html
时间:2014-5-26
题目
Binary Tree Zigzag Level Order Traversal
Total Accepted: 11074 TotalSubmissions: 41859My Submissions
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).
For example:
Given binary tree
{3,9,20,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its zigzag level order traversal as:
[ [3], [20,9], [15,7] ]
confused what
"{1,#,2,3}"means? >
read more on how binary tree is serialized on OJ.
解法
1.添加奇偶层多次提交后AC
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public ArrayList<ArrayList<Integer>> zigzagLevelOrder(TreeNode root) { //Deque<Integer> stack = new ArrayDeque<Integer>(); ArrayList<ArrayList<Integer>> retlist = new ArrayList<ArrayList<Integer>> (); if(root!=null){ Deque<TreeNode> s = new ArrayDeque<TreeNode>(); s.push(root); boolean stop = false; boolean odd= true; while(!stop){ Deque<TreeNode> s2 = new ArrayDeque<TreeNode>(); ArrayList<Integer> list = new ArrayList<Integer>(); while(!s.isEmpty()){ if(odd){ TreeNode t = s.pop(); if(t==null) continue; list.add(t.val); if(t.left!=null) s2.push(t.left); if(t.right!=null) s2.push(t.right); }else{ TreeNode t = s.pop(); if(t==null) continue; list.add(t.val); if(t.right!=null) s2.push(t.right); if(t.left!=null) s2.push(t.left); } } odd = !odd; retlist.add(list); if(s2.isEmpty()) return retlist; s = s2; System.gc(); } } return retlist; } }
相关文章推荐
- 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 二叉树的Z扫描
- Binary Tree Zigzag Level Order Traversal [LeetCode]
- Leetcode: Binary Tree Zigzag Level Order Traversal
- LeetCode-Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal ---LeetCode
- LeetCode 103:Binary Tree Zigzag Level Order Traversal
- 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 103: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 Binary Tree Zigzag Level Order Traversal
- 【LeetCode】Binary Tree Zigzag Level Order Traversal--- 层序遍历二叉树
- leetcode[103]:Binary Tree Zigzag Level Order Traversal