Given a binary tree, flatten it to a linked list in-place.
For example, given the following tree:
1
/
2 5
/ \
3 4 6
The flattened tree should look like:
1
2
3
4
5
6
class Solution {
private TreeNode prev = null;
public void flatten(TreeNode root) {
if(root == null) return ;
flatten(root.right);
flatten(root.left);
root.right = prev;
root.left = null;
prev = root;
}
}
本文介绍了一种将二叉树原地转换为链表的方法。通过先递归地处理右子树和平铺左子树,然后更新当前节点的右指针并设置左指针为null,最终实现树的平铺。此过程确保了树被转换为从根节点开始的单链表。

320

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



