diff --git a/apps/docs/content/(tree)/226-invert-binary-tree.mdx b/apps/docs/content/(tree)/226-invert-binary-tree.mdx new file mode 100644 index 0000000..c2cdb4f --- /dev/null +++ b/apps/docs/content/(tree)/226-invert-binary-tree.mdx @@ -0,0 +1,49 @@ +--- +title: '226. Invert Binary Tree' +description: Given the root of a binary tree, invert the tree, and return its root +sidebar: + label: 'Invert Binary Tree' + badge: 'Easy' +--- + +Tree DFS + +### Example 1: +- Input: `root = [4,2,7,1,3,6,9]` +- Output: `[4,7,2,9,6,3,1]` + +### Example 2: +- Input: `root = [2,1,3]` +- Output: `[2,3,1]` + +### Example 3: +- Input: `root = []` +- Output: `[]` + +### Constraints: + +- The number of nodes in the tree is in the range [0, 100]. +- `-100 <= Node.val <= 100` + +## Solution + +```py +# Definition for a binary tree node. +# class TreeNode: +# def __init__(self, val=0, left=None, right=None): +# self.val = val +# self.left = left +# self.right = right +class Solution: + def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]: + if not root: + return None + + left = self.invertTree(root.left) + right = self.invertTree(root.right) + + root.left = right + root.right = left + + return root +```