Ray-56/like-algorithms

✅114. 二叉树展开为链表

Ray-56 opened this issue · 1 comments

114. 二叉树展开为链表

题目

给定一个二叉树,原地将它展开为一个单链表。

例如,给定二叉树

    1
   / \
  2   5
 / \   \
3   4   6

返回如下的二叉树:

1
 \
  2
   \
    3
     \
      4
       \
        5
         \
          6
var flatten = function(root) {
    if (!root) return;
    // console.log(root.val);
    flatten(root.left);
    flatten(root.right);

    if (root.left) {
        let last = root.left;
        while (last.right) last = last.right;
        last.right = root.right;
        root.right = root.left;
        root.left = null;
    }
};