自己电脑可以做网站服务器,中国商务平台,商标设计注册一条龙价格,钓鱼网站到底怎么做文章目录 题目链接解题思路解题代码 题目链接
226. 翻转二叉树
给你一棵二叉树的根节点 root #xff0c;翻转这棵二叉树#xff0c;并返回其根节点。
示例 1#xff1a; 输入#xff1a;root [4,2,7,1,3,6,9] 输出#xff1a;[4,7,2,9,6,3,1]
示例 2#xff1a; … 文章目录 题目链接解题思路解题代码 题目链接
226. 翻转二叉树
给你一棵二叉树的根节点 root 翻转这棵二叉树并返回其根节点。
示例 1 输入root [4,2,7,1,3,6,9] 输出[4,7,2,9,6,3,1]
示例 2 输入root [2,1,3] 输出[2,3,1]
示例 3
输入root [] 输出[]
解题思路
1.写出递推公式 递归遍历翻转左子树。 递归遍历翻转右子树。 交换当前根节点 root 的左右子树。 2.明确终止条件当前节点 root 为 None。 3.翻译为递归代码 定义递归函数invertTree(self, root) 表示输入参数为二叉树的根节点 root返回结果为翻转后二叉树的根节点。 书写递归主体 left self.invertTree(root.left) right self.invertTree(root.right) root.left right root.right left return root 明确递归终止条件if not root: return None 4.返回根节点 root。
解题代码
class Solution:def invertTree(self, root: Optional[TreeNode]) - Optional[TreeNode]:if not root:return Noneleft self.invertTree(root.left)right self.invertTree(root.right)root.left rightroot.right leftreturn root