The number of nodes in the tree is in the range [0, 100].
-100 <= Node.val <= 100
Test Cases
1 2 3 4 5 6 7 8
# 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 classSolution: definvertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
import os import sys sys.path.append(os.path.dirname(os.path.dirname(__file__))) from _utils.binary_tree import build_tree, print_tree from solution import Solution
# Definition for a binary tree node. classTreeNode: def__init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right
classSolution: definvertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]: backup = root stack = [] while root or stack: if root: stack.append(root) root.left, root.right = root.right, root.left root = root.left # Original right child. else: root = stack.pop().right # Original left child.