您的位置:首页 > 编程语言 > Python开发

[LeetCode]题解(python):103-Binary Tree Zigzag Level Order Traversal

2016-03-07 18:26 579 查看
[b]题目来源:[/b]

  https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/

[b]题意分析:[/b]

  Z字宽度遍历树。

[b]题目思路:[/b]

  这题可以用比较取巧的方法。首先获得宽度遍历的结果,然后将第二层的翻转就可以了。

[b]代码(python):[/b]

[b]  [/b]

# 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]]
"""
ans = []
def bfs(root,level):
if root != None:
if len(ans) < level + 1:
ans.append([])
ans[level].append(root.val)
bfs(root.left,level + 1)
bfs(root.right,level + 1)
bfs(root,0)
i = 1
while i < len(ans):
ans[i].reverse()
i += 2
return ans


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: