diff --git a/work/1/Easy/Tree/226.invert-binary-tree.py b/work/1/Easy/Tree/226.invert-binary-tree.py new file mode 100644 index 0000000..c687cd1 --- /dev/null +++ b/work/1/Easy/Tree/226.invert-binary-tree.py @@ -0,0 +1,54 @@ +""" +226. Invert Binary Tree +Difficulty: Easy +https://leetcode.com/problems/invert-binary-tree/ + +────────────────────────────────────────────────── + +Given the root of a binary tree, invert the tree, and return its root. + + + +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 +""" + + +# 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