leetcode

Leetcode submissions
git clone git://git.laack.co/leetcode.git
Log | Files | Refs | README

invert-binary-tree.py (746B)


      1 # Definition for a binary tree node.
      2 # class TreeNode:
      3 #     def __init__(self, val=0, left=None, right=None):
      4 #         self.val = val
      5 #         self.left = left
      6 #         self.right = right
      7 class Solution:
      8     def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
      9 
     10         if root is None:
     11             return root
     12 
     13         out = recurse(root)
     14         return out
     15 
     16 
     17 def recurse(current):
     18 
     19     assert current is not None
     20 
     21     if current.left is None and current.right is None:
     22         return current
     23 
     24     temp = current.right
     25     current.right = current.left
     26     current.left = temp
     27 
     28     if current.left is not None:
     29         recurse(current.left)
     30     if current.right is not None:
     31         recurse(current.right)
     32     return current