lhl
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
  • python

  • leetcode

    • 数组

    • 位运算

    • 动态规划

    • 链表

    • 栈

    • 树

      • 94.二叉树的中序遍历
      • 100.相同的树
      • 101.对称二叉树
      • 226.翻转二叉树
      • 543. 二叉树的直径
  • 软件测试

  • Git

  • linux

  • 产品

  • MySql

  • docker

  • leetcode
  • tree
2023-04-29

翻转二叉树

https://leetcode.cn/problems/invert-binary-tree/ (opens new window) 需要注意的点

  1. 递归到子节点, 从子节点开始翻转
  2. 翻转节点左右节点,递归处理左节点,然后递归右节点
# 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:

        if  not root:
            return root
        
        left  = self.invertTree(root.left)
        right = self.invertTree(root.right)

        root.left = right
        root.right = left

        return root
# 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:



        def traverse(node: TreeNode) -> TreeNode:

            if not node:
                return 
            
            tmp = node.right
            node.right = node.left
            node.left = tmp

            traverse(node.left)
            traverse(node.right)
        
        traverse(root)
        return root

101.对称二叉树
543. 二叉树的直径

← 101.对称二叉树 543. 二叉树的直径→

最近更新
01
lhl learn notes
02
filter
06-09
03
decorator
06-09
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式