图1
图2
图3
对与图三问题的解答,为啥图一和图二两者最终结果有差距呢,求大鸟的解答
【相关推荐】
线索化的过程实际上就是对原二叉树进行遍历,在遍历的过程中,我们需要对上一个被访问的节点preNode进行存储,以及对当前正在被访问的节点node和prenNode进行判断。
以中序遍历为例,将中序遍历线索化
1.第一个被访问的节点node,操作如下图(将 node的lchild指向pre,pre为null,不进行操作):
2.第二个被访问的节点node,操作如下图(将 pre的rchild指向node,node不进行操作):
3.第三个被访问的节点node,操作如下图(将 node的lchild指向pre,pre不进行操作):
4.第四个被访问的节点node,操作如下图(将 pre的rchild指向node,node不进行操作):
5.第五个被访问的节点node,操作如下图(将 node的lchild指向pre,pre不进行操作):
总体: