Flatten Tree

Given a binary tree, flatten it to a linked list in-place.

  • Time: O(n)
  • Space: O(h)
public void flatten(TreeNode root) {
    flattenHelper(root);
}

private TreeNode flattenHelper(TreeNode root) {
    if (root == null || root.left == null && root.right == null) {
        return root;
    }
    root.left.right = flattenHelper(root.right);
    root.right = flattenHelper(root.left);
    return root;
}

results matching ""

    No results matching ""