代码拉取完成,页面将自动刷新
# 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,
# 第三行按照从左到右的顺序打印,其他行以此类推。
# 思路:层序遍历二叉树,偶数行从右到左,奇数行从左到右
# 那么可以先层序遍历一次,然后按照上面的顺序打印
class Solution:
def __init__(self):
self.res = [[]]
def Print(self, pRoot):
self.get_level_tree(pRoot,1)
isTurn = False
result = []
self.res.pop()
for i in range(len(self.res)):
if isTurn:
self.res[i]=self.res[i][::-1]
isTurn = not isTurn
return self.res
# write code here
def get_level_tree(self, my_root, level):
if not my_root:
return None
else:
self.res[level - 1].append(my_root.val)
if len(self.res) == level:
self.res.append([])
self.get_level_tree(my_root.left, level + 1)
self.get_level_tree(my_root.right, level + 1)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。