树转二叉树
@author 汪春波
满足两个原则
- 孩子节点就是左子树结点
- 兄弟节点就是右孩子结点
题目如图

所以推理
孩子节点为 2 3 4
兄弟节点 2 3 4
因为 2 是叶子节点。 1 没有兄弟节点,所以1的左边2,右边肯定是空的
所以推出

第二步:2的兄弟节点为 3 4 ,则为 2 的右孩子节点
3在前面,所以先得到 3 肯定为2 的右孩子节点。

4在后面,也是右孩子,只能是 3 的右边,作为孙子。

推理 3 孩子节点为 5 6 7.
则 3的左边 5, 6 7 为 3的右 孩子节点。所以推出。

第四步:推理 4
4的孩子为 8 9 。 则 4 的左边为 8.
9为8的兄弟结点,则 9肯定是 8的右孩子。
所以推出

结合得到结果

golang工程师应该会的数据结构与算法
关于 LearnKu
推荐文章: