读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。

例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。

下面的代码:当遍历字符为“#”,“#”表示的是空格,空格字符代表空树, 就可以拿出来。

def stree (num):
    list_1 = []
    for i in num:
        if i == '#' and len (list_1) != 0:
            print (list_1.pop (), end=' ')
            print(list_1)#pop()函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
        else:
            list_1.append (i)
            print(list_1)
if __name__ == '__main__':
    while True:
        try:
            num = input ()
            stree (num)
        except:
            break

刚刚回忆了一下二叉树的遍历,先序遍历和中序遍历可以确定一棵二叉树,推出后序遍历。