Invert Binary Tree
https://leetcode.com/explore/challenge/card/june-leetcoding-challenge/539/week-1-june-1st-june-7th/3347/
Iterative:
class Solution:
def invertTree(self, root: TreeNode) -> TreeNode:
if not root:
return None
queue = []
queue.append(root)
while queue:
curr = queue.pop()
left = curr.left
curr.left = curr.right
curr.right = left
if curr.left:
queue.append(curr.left)
if curr.right:
queue.append(curr.right)
return root
Recursive
class Solution:
def invertTree(self, root: TreeNode) -> TreeNode:
if not root:
return None
left = self.invertTree(root.left)
right = self.invertTree(root.right)
root.left = right
root.right = left
return root
Last updated
Was this helpful?