二叉树-Binary Tree Zigzag Level Order Traversal
2014-08-17 13:36
246 查看
Binary Tree Zigzag Level Order Traversal
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] ]
public class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> result = new ArrayList<List<Integer>>(); if (root == null) { return result; } Stack<TreeNode> curList = new Stack<TreeNode>(); curList.add(root); int level = 0; while (!curList.isEmpty()) { List<Integer> newList = new ArrayList<Integer>(); Stack<TreeNode> children = new Stack<TreeNode>(); while(!curList.isEmpty()) { TreeNode curNode = curList.pop(); newList.add(curNode.val); if (level%2==0) { // left to right if (curNode.left != null) { children.push(curNode.left); } if (curNode.right != null) { children.push(curNode.right); } } else { // right to left if (curNode.right != null) { children.push(curNode.right); } if (curNode.left != null) { children.push(curNode.left); } } } result.add(newList); level++; curList = children; } return result; } }
相关文章推荐
- Binary Tree Zigzag Level Order Traversal 二叉树按层遍历,zigzag输出@LeetCode
- LeetCode 103 Binary Tree Zigzag Level Order Traversal(二叉树层序遍历)
- 103.leetcode Binary Tree Zigzag Level Order Traversal(medium)[二叉树层次遍历 栈]
- LeetCode(Binary Tree Level Order Traversal, 2,Zigzag)二叉树的层次遍历
- LeetCode: 103_Binary Tree Zigzag Level Order Traversal | 二叉树Zigzag层次遍历 | Medium
- 【LeetCode】Binary Tree Zigzag Level Order Traversal 二叉树的锯齿形层次遍历 - Medium(LinkedIn)
- LeetCode | Binary Tree Zigzag Level Order Traversal(二叉树锯齿形层序输出)
- 【LeetCode】Binary Tree Zigzag Level Order Traversal--- 层序遍历二叉树
- 【遍历二叉树】06二叉树曲折(Z字形)层次遍历II【Binary Tree Zigzag Level Order Traversal】
- Binary Tree Zigzag Level Order Traversal,z字形遍历二叉树,得到每层访问的节点值。
- Binary Tree Zigzag Level Order Traversal (LeetCode) 层序遍历二叉树
- 【LeetCode笔记】Binary Tree Zigzag Level Order Traversal 二叉树Z字形遍历
- 103.leetcode Binary Tree Zigzag Level Order Traversal(medium)[二叉树 栈]
- 5.1.6—二叉树的遍历—Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal 之字形遍历二叉树
- 把二叉树打印成多行 按之字形顺序打印二叉树 binary tree zigzag level order traversal
- LeetCode-Binary Tree Zigzag Level Order Traversal-二叉树锯齿层次遍历-二叉树DFS层次遍历
- Binary Tree Zigzag Level Order Traversal (二叉树锯齿形层次遍历)
- 【LeetCode-面试算法经典-Java实现】【103-Binary Tree Zigzag Level Order Traversal(二叉树分层Z字形遍历)】
- Leetcode 103 ,Binary Tree Zigzag Level Order Traversal(二叉树Z形分层遍历)