[Leetcode]Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:国家药监局数据库 编辑:程序博客网 时间:2024/04/29 15:00
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]]和Binary Tree Level Order Traversal类似,也是树的层序遍历,只不过是在偶数层自左向右遍历,奇数层自右向左遍历~可以直接在Binary Tree Level Order Traversal的代码上做改进,把奇数层的结果数列reverse一下~或者用下面这种解法也是可以的~同时维护两个栈,一个栈用来读取,一个栈用来存放下一层的节点
class Solution: # @param root, a tree node # @return a list of lists of integers def zigzagLevelOrder(self, root): if root is None: return [] cur, res, vals = [root], [], [root.val] while cur: res.append(vals) next, vals = [], [] while cur: node = cur.pop() if len(res) % 2 == 0: if node.left: vals.append(node.left.val) next.append(node.left) if node.right: vals.append(node.right.val) next.append(node.right) else: if node.right: vals.append(node.right.val) next.append(node.right) if node.left: vals.append(node.left.val) next.append(node.left) cur = next return res
0 0
- 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
- 【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
- LeetCode:Binary Tree Zigzag Level Order Traversal
- [LeetCode] Binary Tree Zigzag Level Order Traversal
- JavaBean入门 - 概念和简单例子
- 20150119
- java java.lang.UnsupportedClassVersionError: Bad version number in .class file
- OnlineJudge 离线题库采集
- easySQLite使用帮助
- [Leetcode]Binary Tree Zigzag Level Order Traversal
- Activity入门详解(生命周期、以各种方式启动Activity、状态保存,完全退出等)
- 拷贝目录
- 【Android】 Android中ListView使用详解
- volley getParams()失效
- 家银通支付清算系统
- 基于imx FrameBuffer 分析
- Jesse's Code
- 硝烟中的Scrum和XP_学习笔记