DSA Patterns (Multi-Lang)•Part 7: Binary Trees, BSTs & Traversals (53 - 64)
Invert / Flip Binary Tree.
In Simple Words:
Recursively swap root.left and root.right at every node from leaves to root (or preorder).
- Time: $O(N)$ | Space: $O(H)$
Multi-Language SolutionsPython 3 • JavaScript • TypeScript • Java • C++
Switch tabs or choose Allclass TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def invertTree(root: TreeNode | None) -> TreeNode | None:
if not root: return None
root.left, root.right = invertTree(root.right), invertTree(root.left)
return root