这题就是在之前的基础上加个奇偶数的判断开关。不难。代码如下:
# 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
本文介绍了一个简单的二叉树锯齿形层次遍历算法实现,通过加入奇偶数判断开关来控制每层节点值的顺序,实现正序与逆序交替输出。
249

被折叠的 条评论
为什么被折叠?



