-
2.12
-
1.29
- 先到最左下角,然后拼接左右子树,没看见递归的返回值忘思路了
-
1.17
- 自顶向下,后序遍历,第二遍 Gemini 醍醐灌顶
-
11.12
- 还是递归从左下角开始,分割左右子树 .左子树置null
- cur记录尾部,第一次没想出来

1
/ \
(左) 2→3→4 (右) 5→6class Solution {
public void flatten(TreeNode root) {
if(root==null) return;
flatten(root.left);
flatten(root.right);
TreeNode temp = root.right;
root.right = root.left;
root.left = null;
TreeNode cur = root;
while(cur.right!=null){
cur = cur.right;
}
cur.right = temp;
}
}- 先递归展开左右子树,暂存右子树,拼接过去,over