树转二叉树
左儿子右兄弟, 即第一个儿子是左二子, 第一个兄弟是右儿子, 然后按层次按顺序调整每一个即可.
规范做法是三步:
加线: 同一层的兄弟按顺序加线.
去线: 保留第一个儿子, 其他儿子连线删掉.
调整层次.
森林转二叉树
先将每个树转成二叉树, 然后从第二棵开始, 把每一棵二叉树的根都作为前一棵的右儿子.
二叉树转树
根据树转二叉树, 考虑逆过程, 如果一个节点有左儿子, 那么这个左二子的右儿子, 右儿子的右儿子,... 都是该节点的兄弟节点.
规范做法也是三步:
加线: 左儿子的右儿子, 左儿子的右儿子的右儿子,... 都连上该节点.
去线: 删除这些右儿子原本的线.
调整层次.
二叉树转森林
当一棵二叉树根节点有右儿子, 断开成为两棵树再分别转换.
来源: https://www.cnblogs.com/zxcoder/p/12287410.html