当前位置: 首页 > news >正文

力扣算法ing(36 / 100)

3.23 226.翻转二叉树

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

示例 1:

img

输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]

示例 2:

img

输入:root = [2,1,3]
输出:[2,3,1]

示例 3:

输入:root = []
输出:[]

提示:

  • 树中节点数目范围在 [0, 100]
  • -100 <= Node.val <= 100

我的思路:

子翻转,根没有翻转

先根遍历

if(head.left && head.right)

有孩子的时候

temp

temp = head.left

head.left = head.right

head.right = temp

我的代码:

function invertTree(root: TreeNode | null): TreeNode | null {
    if (root.left === null  && root.right === null) {
        return root;
    }

    // 交换左右子节点
    let temp = root.left;
    root.left = root.right;
    root.right = temp;

    // 递归地反转左右子树
    invertTree(root.left);
    invertTree(root.right);

    return root;
};

执行出错!!!

原因:如果root为null,直接调用root.left或root.right会导致类型错误,因为null没有这些属性。

//如果根节点为null,直接返回null

//if (root === null) {

//return null;

//}

最后代码:

function invertTree(root: TreeNode | null): TreeNode | null {
    // 如果根节点为null,直接返回null
    if (root === null) {
        return null;
    }

    // 交换左右子节点
    let temp = root.left;
    root.left = root.right;
    root.right = temp;

    // 递归地反转左右子树
    invertTree(root.left);
    invertTree(root.right);

    return root;
};
啦啦啦!轻松解决
http://www.dtcms.com/a/85203.html

相关文章:

  • 神经网络知识点整理
  • 中间件漏洞—Apache
  • 在线监测工具介绍 -- Arthas
  • 探索CSS3中那些不常用但特别强大的属性和属性值
  • JavaScript 比较运算符
  • 第二十章:类型属性的重载_《C++ Templates》notes
  • 【Go 】Go 语言中的 channel介绍
  • K8S学习之基础四十四:k8s中部署Kibana
  • vue3 ts 注册全局组件
  • N列股票收盘价为起点的马科维茨(Markowitz)均值—方差理论
  • 低配电脑畅玩《怪物猎人:荒野》,ToDesk云电脑优化从30帧到144帧?
  • 【C++】 --- 类和对象(中)
  • Java UDP聊天室搭建指南
  • Vulnhub Momentum系列靶机合集
  • 施耐德 Unity Pro 项目配置
  • 【SG90舵机】arduino uno控制SG90舵机
  • GraphMLP: A Graph MLP-Like Architecture for 3D Human Pose Estimation
  • 各类容器技术深度解析:容器全解
  • 【设计模式】外观模式
  • WSL2 与双系统的对比
  • Java之反射
  • C++语法之模板函数和模板类
  • 理解操作系统(一)冯诺依曼结构和什么是操作系统
  • 第六章 | Solidity 函数与可见性修饰符全面讲解
  • Dataset和Dataloader
  • 解锁云原生后端开发新姿势:腾讯云大模型API实战攻略
  • 微调大模型:LoRA、PEFT、RLHF 简介
  • 二分查找------练习2
  • Numpy 简单学习【学习笔记】
  • 基于CNN的FashionMNIST数据集识别6——ResNet模型