leetcode之Binary Tree Zigzag Level Order Traversal
2015-12-13 12:43
417 查看
这题就是在之前的基础上加个奇偶数的判断开关。不难。代码如下:
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution(object): def zigzagLevelOrder(self, root): """ :type root: TreeNode :rtype: List[List[int]] """ if not root: return [] a = [] queue = [root] b = 0 while queue: if b == 0: a.append([q.val for q in queue]) else: a.append([q.val for q in queue][::-1]) queue = [q for node in queue for q in (node.left, node.right) if q] if b == 0: b = 1 else: b = 0 return a
相关文章推荐
- 文件遍历排序函数
- Search Engine XSS Worm
- Lua 学习笔记之C API 遍历 Table实现代码
- C#遍历文件夹后上传文件夹中所有文件错误案例分析
- C#中遍历Hashtable的4种方法
- Erlang中遍历取出某个位置的最大值代码
- C++实现图的邻接矩阵存储和广度、深度优先遍历实例分析
- C++实现图的邻接表存储和广度优先遍历实例分析
- C++非递归队列实现二叉树的广度优先遍历
- php遍历目录方法小结
- 一个目录遍历函数
- php遍历删除整个目录及文件的方法
- PHP遍历文件夹与文件类及处理类用法实例
- PHP遍历XML文档所有节点的方法
- php中使用key,value,current,next和prev函数遍历数组的方法
- C#使用前序遍历、中序遍历和后序遍历打印二叉树的方法
- C#使用foreach遍历哈希表(hashtable)的方法
- php递归遍历多维数组的方法
- C#使用yield关键字让自定义集合实现foreach遍历的方法
- 简介JavaScript中search()方法的使用