LeetCode 226.翻转二叉树-简单
程序员文章站
2022-05-18 15:45:22
...
1.题目
翻转一棵二叉树。
示例
输入
4
/ \
2 7
/ \ / \
1 3 6 9
输出
4
/ \
7 2
/ \ / \
9 6 3 1
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2.解题
方法一:递归
- 边界条件:树为空
- 复杂度分析:
时间复杂度 O(N): 相当于遍历了一遍树
空间复杂度 O(1)
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def invertTree(self, root: TreeNode) -> TreeNode:
if root == None:
return None
root.right, root.left = root.left, root.right
if root.left != None:
root.left = self.invertTree(root.left)
if root.right != None:
root.right = self.invertTree(root.right)
return root
上一篇: Spring事务控制
下一篇: linux的startx问题