题目描述:

思路:
中序遍历: 左节点 --> 根节点 --> 右节点
- 递归:
- 优点: 思路清晰,代码量少;
- 缺点: 由于要不断的调用自己,非常耗时;
- 代码实现:

- 执行结果(也不知道为什么这次的执行结果还挺看得过去的,难道他知道要露脸了给我点面子?hhhh):

- 颜色标记法(这个方法是看解析学来的,其实只要改变入栈顺序就可以实现各种遍历,旋转点赞!!谢谢分享~):
- 思路:
-
- 使用颜色标记节点的状态,新节点为白色,已访问的节点为灰色。
-
- 如果遇到的节点为白色,则将其标记为灰色,然后将其右子节点、自身、左子节点依次入栈。
-
- 如果遇到的节点为灰色,则将节点的值输出。
直接上图!

- 如果遇到的节点为灰色,则将节点的值输出。
- 代码实现:

- 执行结果(我疯!这两种方法的执行结果怎么一模一样,这样很没有说服力!):
