读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。
例如如下的先序遍历字符串: 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
刚刚回忆了一下二叉树的遍历,先序遍历和中序遍历可以确定一棵二叉树,推出后序遍历。