问题
给定一个二叉树,原地将它展开为链表。
例子

思路
-
方法1
先序遍历

-
方法2
代码
//方法1
class Solution {
public void flatten(TreeNode root) {
if(root==null) return ;
flatten(root.left);
flatten(root.right);
TreeNode node = root.right;
root.right=root.left;
root.left=null;
while(root.right!=null) root=root.right;
root.right=node;
return ;
}
}
//方法2

本文探讨了将二叉树原地转换为链表的方法,提供了两种实现思路:先序遍历和另一种未详述的方法。通过具体代码示例,详细展示了如何使用先序遍历递归地修改二叉树节点,使其变为链表结构。
379

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



