ituser - 小小IT人遨游大大IT界

Python二叉树已知先序中序求后序之极简代码

2023-03-15 14:47:44 295次浏览


# 已知二叉树 先序,中序 求后序
# 先序: 根左右
# 中序: 左根右
f1 = ["A", "B", "C", "D", "E", "F"]
m1 = ["C", "B", "A", "E", "D", "F"]
# 后序:C B E F D A
# print(m1[3:])
def get_b(f, m):
    if f == [] or m == []:
        if f == [] and not m == []:
            print(m[0])
        return
    pos = m.index(f[0])
    # 左子树
    get_b(f[1:pos], m[0:pos])
    # 右子树
    get_b(f[pos + 1:], m[pos + 1:])
    print(f[0])
if __name__ == "__main__":
    get_b(f1, m1)
说明

所有内容来及个人经验和互联网摘取,如有雷同纯属巧合,如有冒犯,欢迎留言,分享即快乐,感谢互联网中每一位懂得分享的ituser!QQ群:127331971(备注:ituser.cn)