python-leetcode37.翻转二叉树
- 手机
- 2025-08-28 05:54:01

题目:
给定一颗二叉树的根节点root,翻转这棵二叉树,并返回根节点
方法一:递归
从根节点开始,递归地对树进行遍历,并从叶子节点先开始翻转。如果当前遍历到的节点root的左右两棵子树都已经翻转,那么我们只需要交换两棵子树的位置,即可完成以root为根节点的整棵子树的翻转。
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution(object): def invertTree(self, root): """ :type root: Optional[TreeNode] :rtype: Optional[TreeNode] """ if not root: return root left=self.invertTree(root.left) right=self.invertTree(root.right) root.left,root.right=right,left return root时间复杂度:O(n)遍历二叉树中的每一个节点
空间复杂度:O(n)
源自力扣官方题解
python-leetcode37.翻转二叉树由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“python-leetcode37.翻转二叉树”