方法一:递归
class Solution:
def invertTree(self, root: TreeNode) -> TreeNode:
if root is None :
return #return后什么也不加表示返回空None 不能返回0
root.left,root.right = self.invertTree(root.right),self.invertTree(root.left)
#必须放在一行上一起执行
return root
方法二:栈的迭送
class Solution:
def invertTree(self, root: TreeNode) -> TreeNode:
stack = [root]
while stack :
node = stack.pop()
if node :
node.left,node.right = node.right,node.left
stack.append(node.right)
stack.append(node.left)
return root