本文主要是介绍LeetCode 热题100-38 翻转二叉树,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
翻转二叉树
给你一棵二叉树的根节点 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 = [] 输出:[]
提示:
- 树中节点数目范围在
[0, 100]
内 -100 <= Node.val <= 100
# 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: Optional[TreeNode]) -> Optional[TreeNode]:def fun(root):if root == None: return roottmp = root.leftroot.left = root.rightroot.right = tmpfun(root.left)fun(root.right)fun(root)return root
_____________________________________________________________________________
感觉还是函数内的内置函数清晰一点,直接的递归感觉容易钻牛角尖...but还是写写吧
# 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: Optional[TreeNode]) -> Optional[TreeNode]:if root == None:return rootroot.right,root.left = self.invertTree(root.left),self.invertTree(root.right)return root
这篇关于LeetCode 热题100-38 翻转二叉树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!