【刷题笔记10.6】LeetCode:翻转二叉树

LeetCode:翻转二叉树

一、题目描述

给你一颗二叉树的根节点root,翻转这颗二叉树,并返回其根节点。

二、分析

我们在做二叉树题目时候,第一想到的应该是用 递归 来解决。 仔细看下题目的 输入 和 输出,输出的左右子树的位置跟输入正好是相反的,于是我们可以递归的交换左右子树来完成这道题。

其实就是交换一下左右节点,然后再递归的交换左节点,右节点。

我们可以总结出递归的两个条件如下:

  • 终止条件:当前节点为 null 时返回
  • 交换当前节点的左右节点,再递归的交换当前节点的左节点,递归的交换当前节点的右节点

三、代码实现

java 复制代码
public class Deal13 {
    public TreeNode invertTree(TreeNode root) {
        //1、递归函数的终止条件,节点为null时返回
        if (root == null) {
            return null;
        }

        //2、下面三句是将当前节点的左右子树交换
        TreeNode temp = root.left;
        root.left = root.right;
        root.right = temp;

        //3.1、递归交换当前节点的 左子树
        invertTree(root.left);
        //3.2、递归交换当前节点的 右子树
        invertTree(root.right);

        //4、函数返回时就表示当前这个节点,以及它的左右子树都已经交换完成
        return root;
    }
}
相关推荐
Frostnova丶19 小时前
LeetCode 2839. 判断通过操作能否让字符串相等 I
算法·leetcode
会编程的土豆19 小时前
【leetcode hot 100】二叉树3
算法·深度优先·图论
一定要AK19 小时前
java基础
java·开发语言·笔记
ofoxcoding19 小时前
GPT-5.4 API 完全指南:性能实测、成本测算与接入方案(2026)
人工智能·gpt·算法·ai
码农的神经元19 小时前
基于改进 VMD 与自适应小波的水声信号去噪算法实现与分析
算法
xw-busy-code20 小时前
npm 包管理笔记整理
前端·笔记·npm
tankeven20 小时前
HJ156 走迷宫
c++·算法
旺仔.29120 小时前
STL排序算法详解
数据结构·算法·排序算法
美狐美颜sdk20 小时前
美颜SDK是什么?直播/短视频美颜SDK技术详解
人工智能·算法·美颜sdk·直播美颜sdk·美颜api
chushiyunen20 小时前
langgraph笔记
数据库·人工智能·笔记