QuestionIdeaCode
Question226. 翻转二叉树
Idea二叉树的翻转指的是左孩子和右孩子翻转过来,那么就可以用二叉树的深度优先搜索,对每个节点的左右孩子进行互换
Code# 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: TreeNode) -> TreeNode:
'''
思路:翻转二叉树指的是二叉树左孩子和右孩子互换
那么就可以遍历该树 让其左孩子和右孩子互换
这里采用dfs 前序遍历
'''
def dfs(root):
if not root:
return root
root.left, root.right = root.right, root.left
dfs(root.left)
dfs(root.right)
return root
return dfs(root)



