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;
}