LeetCode-114-二叉树展开为链表

思路
参考 114. 二叉树展开为链表 - 二叉树展开为链表 - 力扣(LeetCode) (leetcode-cn.com)
分三步走:
1.首先将根节点的左子树变成链表
2.其次将根节点的右子树变成链表
3.最后将变成链表的右子树放在变成链表的左子树的最右边

代码
class Solution {
public void flatten(TreeNode root) {
if(root == null) return ;
//将根节点的左子树变成链表
flatten(root.left);
//将根节点的右子树变成链表
flatten(root.right);
TreeNode tmp = root.right;
//把树的右边换成左边的链表
root.right = root.left;
//记得要将左边置空
root.left = null;
//找到树的最右边的节点
while(root.right != null) root = root.right;
//把右边的链表接到刚才树的最右边的节点
root.right = tmp;
}
}
本文详细介绍了如何将一棵二叉树展开为链表,通过分三步实现:1.左子树转链表;2.右子树转链表;3.连接左右子树链表。提供的代码展示了具体操作过程,包括如何找到链表尾部并进行连接。
492

被折叠的 条评论
为什么被折叠?



