LeetCode_103Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:qq炫舞头像源码 编辑:程序博客网 时间:2024/05/22 04:29
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 List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> result = new ArrayList<List<Integer>>(); if (root == null) return result; LinkedList<TreeNode> currentNodes = new LinkedList<TreeNode>(); currentNodes.add(root); int level = 1; while(!currentNodes.isEmpty()){ LinkedList<TreeNode> nextNodes = new LinkedList<TreeNode>(); List<Integer> list =new ArrayList<Integer>(); for (TreeNode treeNode : currentNodes) { list.add(treeNode.val); if (treeNode.left!=null) { nextNodes.add(treeNode.left); } if (treeNode.right!=null) { nextNodes.add(treeNode.right); } } if(level %2 ==0){ Collections.reverse(list); } result.add(list); currentNodes = nextNodes; level++; } return result; }
0 0
- LeetCode_103Binary 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
- [Leetcode] Binary Tree Zigzag Level Order Traversal
- 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
- 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
- iOS开发常用的第三方类库
- day01--Java基础语法--Java语言基础
- Spring MVC工作流程图
- 使用openssl库实现RSA、AES数据加密
- 黑马程序员-OC语言基础:协议
- LeetCode_103Binary Tree Zigzag Level Order Traversal
- css3边框
- 【Cocos2d-x】之C++和Lua的调用_01
- 黑马程序员-OC语言基础:block
- X264的ARMV7-a的交叉编译及优化运行
- sysfs--初窥门径
- 黑马程序员-OC语言基础:Foundation框架小结
- CSS 优化
- C/C++字符串转换为整型