LeetCode 103 Binary Tree Zigzag Level Order Traversal
2014-08-14 16:11
363 查看
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:
思路:在层次遍历的基础上加上一个布尔型的flag
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] ]
思路:在层次遍历的基础上加上一个布尔型的flag
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { boolean flag = true; List<Integer> list ; List<List<Integer>> result = new ArrayList<List<Integer>>(); LinkedList <TreeNode> linkedList = new LinkedList<TreeNode>(); if(root == null) return result; TreeNode p; int num = 1; linkedList.addLast(root); while(!linkedList.isEmpty()) { list = new ArrayList<Integer>(); int i = 0; int temp = 0; while(i < num) { p = linkedList.pollFirst(); if(flag) { list.add(p.val); }else{ list.add(0,p.val); } if(p.left != null) { linkedList.addLast(p.left); temp++; } if(p.right != null) { linkedList.addLast(p.right); temp++; } i++; } flag=!flag; num = temp; result.add(list); } return result; } }
相关文章推荐
- LeetCode103 Binary Tree Zigzag Level Order Traversal
- LeetCode: Binary Tree Zigzag Level Order Traversal [103]
- leetcode——103——Binary Tree Zigzag Level Order Traversal
- LeetCode(103) Binary Tree Zigzag Level Order Traversal
- leetcode || 103、Binary Tree Zigzag Level Order Traversal
- LeetCode(103) Binary Tree Zigzag Level Order Traversal
- leetcode[103]Binary Tree Zigzag Level Order Traversal
- 【LeetCode-103】Binary Tree Zigzag Level Order Traversal
- LeetCode 103 Binary Tree Zigzag Level Order Traversal
- LeetCode(103)Binary Tree Zigzag Level Order Traversal
- LeetCode_103 Binary Tree Zigzag Level Order Traversal
- LeetCode 103 Binary Tree Zigzag Level Order Traversal(二叉树层序遍历)
- LeetCode 103: Binary Tree Zigzag Level Order Traversal
- 【LeetCode-面试算法经典-Java实现】【103-Binary Tree Zigzag Level Order Traversal(二叉树分层Z字形遍历)】
- Leetcode 103 Binary Tree Zigzag Level Order Traversal
- leetcode_question_103 Binary Tree Zigzag Level Order Traversal
- 103.leetcode Binary Tree Zigzag Level Order Traversal(medium)[二叉树 栈]
- LeetCode 103:Binary Tree Zigzag Level Order Traversal
- LeetCode103 Binary Tree Zigzag Level Order Traversal
- LeetCode(103) Binary Tree Zigzag Level Order Traversal