leetcode226 翻转二叉树——简单
# 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): def dfs(root): if root is None: return tmp=root.left root.left=root.right root.right=tmp dfs(root.left) dfs(root.right) dfs(root) return root
附加讨论区的另一种解法:
# 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): if root is None: return root.left,root.right=root.right,root.left self.invertTree(root.left) self.invertTree(root.right) return root