JZ59 按之字形顺序打印二叉树
my version
错误记录
- 自行添加特殊符号后,没有判断边界条件
from queue import Queue
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
class Solution:
def Print(self, pRoot):
if not pRoot:
return
ret = []
temp = []
q = Queue()
q.put(pRoot)
q.put('#')
is_left2right = True
while not q.empty():
node = q.get()
if node == '#':
if is_left2right:
ret.append(temp)
else:
ret.append(temp[::-1])
if not q.empty():
temp = []
is_left2right = not is_left2right
q.put('#')
else:
temp.append(node.val)
if node.left:
q.put(node.left)
if node.right:
q.put(node.right)
return ret