在python中以螺旋形式遍历树

时间:2017-05-02 11:56:19

标签: python binary-tree tree-traversal

def spiral(root):
    if not root:
        return
    s1=[]
    s2=[]
    s1.append(root)
    while s1 or s2:
        while s1:
            n=s1[0]
            s1.pop(0)
            print(n.val,end=' ')
            if n.left:s2.append(n.left)
            if n.right:s2.append(n.right)
        while s2:
            n=s2[0]
            s2.pop(0)
            print(n.val,end=' ')
            if n.right:s1.append(n.right)
            if n.left:s1.append(n.left)

在最后一级,答案与所需要的相反。如果要求为:1 2 3 7 6 5 4,则函数给出的答案为:1 2 3 5 4 7 6。 那么错误是什么?

0 个答案:

没有答案