最近学习了二叉树的三种遍历方法,对于前中后序思索了很久,怎么才能便于理解使用而又不混淆呢?
于是我想出了一种方法-----画三角形△法
(这个方法的本质是在模拟递归,好处在于有条理而不会混乱)
在说明方法之前首先要明确一点:
如果当前的节点不是叶子节点就得继续向下遍历,直至是叶子节点。
方法说明:
从根节点开始画三角,三角的三个顶点分别是树的三个节点,如果有节点不是叶子节点,就顺着这个节点继续向下画△,直到△的两个角都由叶子节点构成,在每个三角形中使用三序遍历分别对应的顺序,将节点值逐级返回即可。
举例分析:
前序遍历:(根左右)
结果为:FBADCEGIH
中序遍历:(左根右)
结果为:ABCDEFGHI
后序遍历:(左右根)
结果为:ACEDBHIGF
有什么疑问或者建议欢迎在评论区提出~