【发布时间】:2018-08-17 06:14:38
【问题描述】:
我正在尝试在https://www.interviewbit.com/problems/zigzag-level-order-traversal-bt/ 上对二叉树的节点值进行锯齿形级别顺序遍历(即,从左到右,然后从右到左进行下一级并在其间交替)但是编译器给出了超出时间限制错误。我该如何解决?
# Definition for a binary tree node
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
# @param A : root node of tree
# @return a list of list of integers
def zigzagLevelOrder(self, A):
st_crt_lvl =[A]
st_nxt_lvl =[]
ans_list = []
while st_crt_lvl:
u = st_crt_lvl.pop(0)
ans_list.append(u.val)
if u.left:
st_nxt_lvl.append(u.left)
if u.right:
st_nxt_lvl.append(u.right)
while st_nxt_lvl:
u = st_nxt_lvl.pop()
ans_list.append(u.val)
if u.right:
st_crt_lvl.append(u.right)
if u.left:
st_crt_lvl.append(u.left)
return ans_list
【问题讨论】:
标签: python algorithm data-structures binary-tree graph-algorithm