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

代码随想三刷二叉树篇4

代码随想三刷二叉树篇4

  • 617. 合并二叉树
    • 题目
    • 代码
  • 700. 二叉搜索树中的搜索
    • 题目
    • 代码
  • 98. 验证二叉搜索树
    • 题目
    • 代码
  • 530. 二叉搜索树的最小绝对差
    • 题目
    • 代码
  • 501. 二叉搜索树中的众数
    • 题目
    • 代码
  • 236. 二叉树的最近公共祖先
    • 题目
    • 代码

617. 合并二叉树

题目

链接

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {if(root1==null&&root2==null){return null;}if(root1==null){return root2;}if(root2==null){return root1;}root1.val += root2.val;TreeNode left = mergeTrees(root1.left,root2.left);TreeNode right = mergeTrees(root1.right,root2.right);root1.left = left;root1.right = right;return root1;}
}

700. 二叉搜索树中的搜索

题目

链接

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode searchBST(TreeNode root, int val) {if(root==null){return null;}if(root.val==val){return root;}if(val>root.val){return searchBST(root.right,val);}else{return searchBST(root.left,val);}}
}

98. 验证二叉搜索树

题目

链接

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public boolean isValidBST(TreeNode root) {traverse(root);return isValidBST;}boolean isValidBST = true;TreeNode pre = null;public void traverse(TreeNode root){if(root==null||!isValidBST){return;}traverse(root.left);if(pre!=null&&pre.val>=root.val){isValidBST = false;}pre = root;traverse(root.right);}
}

530. 二叉搜索树的最小绝对差

题目

链接

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public int getMinimumDifference(TreeNode root) {traverse(root);return minNum==Integer.MAX_VALUE?0:minNum;}TreeNode pre = null;int minNum = Integer.MAX_VALUE;public void traverse(TreeNode root){if(root==null){return;}traverse(root.left);if(pre!=null){minNum = Math.min(minNum,root.val-pre.val);}pre = root;traverse(root.right);}
}

501. 二叉搜索树中的众数

题目

链接

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public int[] findMode(TreeNode root) {traversal(root);pq.offer(new int[]{cur,count});//最后一次没有添加List<Integer> result = new ArrayList();int maxCount = 0;while(!pq.isEmpty()){int[] temp = pq.poll();if(temp[1]>=maxCount){maxCount = temp[1];result.add(temp[0]);}else{break;}}return result.stream().mapToInt(i->i).toArray();}PriorityQueue<int[]> pq = new PriorityQueue<>((e1,e2)->e2[1]-e1[1]);int cur =0;int count = 0;TreeNode pre = null;public void traversal(TreeNode root){if(root==null){return;}traversal(root.left);if(pre==null){cur = root.val;count++;}else{if(cur == root.val){count++;}else{pq.offer(new int[]{cur,count});cur = root.val;count = 1;}}pre = root;traversal(root.right);}
}

236. 二叉树的最近公共祖先

题目

链接

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {if(root==null||root==p||root==q){return root;}TreeNode left = lowestCommonAncestor(root.left,p,q);TreeNode right = lowestCommonAncestor(root.right,p,q);if(left==null&&right==null){return null;}else if(left!=null&&right==null){return left;}else if(right!=null&&left==null){return right;}else {return root;}}}

相关文章:

代码随想三刷二叉树篇4

代码随想三刷二叉树篇4 617. 合并二叉树题目代码 700. 二叉搜索树中的搜索题目代码 98. 验证二叉搜索树题目代码 530. 二叉搜索树的最小绝对差题目代码 501. 二叉搜索树中的众数题目代码 236. 二叉树的最近公共祖先题目代码 617. 合并二叉树 题目 链接 代码 /*** Definitio…...

『大模型笔记』如何让小型语言模型发挥作用!

如何让小型语言模型发挥作用! 文章目录 一. 如何让小型语言模型发挥作用!不可能的可能性小模型的潜力创新方法与突破实践与验证过滤系统与数据质量小模型的逐步改进信息理论蒸馏方法(新工作InfoSum)总结与展望Infini-Gram与N-gram模型的新时代后缀数组与高速计算二. 参考文献…...

jnp.diag

jnp.diag 是 JAX 库中用于创建对角矩阵或提取对角线元素的函数。具体功能取决于输入的形状&#xff1a; 当输入是一维数组时&#xff0c;jnp.diag 创建一个以该数组为对角线元素的对角矩阵。当输入是二维数组时&#xff0c;jnp.diag 提取并返回对角线元素。 函数签名 jnp.di…...

bert文本分类微调笔记

Bert实现文本分类微调Demo import random from collections import namedtuple 有四种文本需要做分类&#xff0c;请使用bert处理这个分类问题 # 使用namedtuple定义一个类别(Category)&#xff0c;包含两个字段&#xff1a;名称(name)和样例(samples) Category namedtuple(Ca…...

运维:k8s常用命令大全

Kubernetes是一个强大的容器编排平台&#xff0c;不管是运维、开发还是测试或多或少都会接触到&#xff0c;熟练的掌握k8s可大大提高工作效率和强化自身技能。 集群管理 1. 查看集群节点状态: kubectl get nodes 2. 查看集群资源使用情况: kubectl top nodes 3. 查看集群…...

PHP基础之错误与异常

文章目录 1 错误1.1 简介1.2 简单错误处理1.2.1 使用die1.2.2 die和exit区别 1.3 自定义错误处理1.3.1 定义1.3.2 创建错误函数 1.4 触发错误1.5 抑制错误1.5.1 行内错误抑制 2 异常2.1 引言2.2 什么是异常2.3 Try、throw、catch、finally2.4 自定义异常2.5 设置顶层异常处理器…...

详解Spring AOP(一)

目录 1. AOP概述 2.Spring AOP快速入门 2.1引入AOP依赖 2.2编写AOP程序 3.Spring AOP核心概念 3.1切点&#xff08;PointCut&#xff09; 3.2连接点&#xff08;Join Point&#xff09; 3.3通知&#xff08;Advice&#xff09; 3.4切面&#xff08;Aspect&#xff09; …...

读者写者问题(读者优先、公平竞争、写者优先)

1.读者优先 当有读者进程进行读时&#xff0c;允许多个读者同时读&#xff0c;但不允许写者写&#xff1b;当有写者进程进行写时&#xff0c;不允许其他写者写&#xff0c;也不允许读者读 读者算法&#xff1a; p(r_mutex); //申请修改read_count if read_count0:p(mutex); …...

Springboot开发之 Excel 处理工具(二)-- Easyexcel

一、Easyexcel 简介 EasyExcel是一个基于Java的Excel处理工具库&#xff0c;它的核心设计理念是快速、简洁&#xff0c;并且能够有效解决处理大文件时的内存溢出问题。使用EasyExcel&#xff0c;开发者可以在几乎不需要考虑性能和内存消耗的情况下&#xff0c;轻松实现Excel文…...

6月27日云技术研讨会 | 中央集中架构新车型功能和网络测试解决方案

会议摘要 “软件定义汽车”新时代下&#xff0c;整车电气电气架构向中央-区域集中式发展已成为行业共识&#xff0c;车型架构的变革带来更复杂的整车功能定义、更多的新技术的应用&#xff08;如SOA服务化、TSN等&#xff09;和更短的车型研发周期&#xff0c;对整车和新产品研…...

微信小程序生命周期

微信小程序的生命周期包括两个主要部分&#xff1a;应用生命周期和页面生命周期。下面我将详细介绍它们的具体内容。 应用生命周期 onLaunch&#xff1a; 触发时机&#xff1a;小程序初始化完成时&#xff08;全局只触发一次&#xff09;。 用途&#xff1a;通常用于进行一些…...

【JS重点15】原型对象概述

目录 一&#xff1a;构造函数缺陷 二&#xff1a;原型 1 原型是是什么 2 原型对象的作用 3 原型对象this指向问题 4 利用原型对象添加方法 给JS内置构造函数Array添加最大值方法 给JS内置构造函数Array添加求和方法 三&#xff1a;Constructor属性 四&#xff1a;如何…...

Java之Hutool/Guava/Apache Commons工具包项目实践

概述 Hutool是一个Java工具包,提供了丰富的工具类和方法,目的是简化开发任务提高开发效率;适用于需要快速开发和实现多种功能的场景,适合项目需要处理字符串、日期、文件等常见任务时~ toBeBetterJavaer/docs/common-tool/StringUtils.md at master itwanger/toBeBetterJavae…...

哈喽GPT-4o——对GPT-4o 提示词的思考与看法

目录 一、提示词二、常用的提示词案例1、写作助理2、改写为小红书风格3、英语翻译和改写4、论文式回答5、主题解构6、提问助手7、Nature风格润色8、结构总结9、编程助手10、充当终端/解释器 大家好&#xff0c;我是哪吒。 最近&#xff0c;ChatGPT在网络上广受欢迎&#xff0c…...

《计算机英语》 Unit 3 Software Engineering 软件工程

Section A Software Engineering Methodologies 软件工程方法论 Software development is an engineering process. 软件开发是一个工程过程。 The goal of researchers in software engineering is to find principles that guide the software development process and lea…...

2024-6-18(沉默Spring,Springboot)

1.Spring小结 我们最后再来体会一下用 Spring 创建对象的过程&#xff1a; 通过 ApplicationContext 这个 IoC 容器的入口&#xff0c;用它的两个具体的实现子类&#xff0c;从 class path 或者 file path 中读取数据&#xff0c;用 getBean() 获取具体的 bean instance。 那…...

Java热部署:让应用更新如丝般顺滑,告别繁琐重启!

目录 手动启动热部署 自动启动热部署 参与热部署监控的文件范围配置 关闭热部署 什么是热部署&#xff1f;简单说就是你程序改了&#xff0c;现在要重新启动服务器&#xff0c;嫌麻烦&#xff1f;不用重启&#xff0c;服务器会自己悄悄的把更新后的程序给重新加载一遍&…...

微信小程序毕业设计-小区疫情防控系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…...

PyTorch -- RNN 快速实践

RNN Layer torch.nn.RNN(input_size,hidden_size,num_layers,batch_first) input_size: 输入的编码维度hidden_size: 隐含层的维数num_layers: 隐含层的层数batch_first: True 指定输入的参数顺序为&#xff1a; x&#xff1a;[batch, seq_len, input_size]h0&#xff1a;[batc…...

SpringBoot 快速入门(保姆级详细教程)

目录 一、Springboot简介 二、SpringBoot 优点&#xff1a; 三、快速入门 1、新建工程 方式2&#xff1a;使用Spring Initializr创建项目 写在前面&#xff1a; SpringBoot 是 Spring家族中的一个全新框架&#xff0c;用来简化spring程序的创建和开发过程。SpringBoot化繁…...

PCIe C++代理实例化

为了能调用PCIe AVIP的C用户接口&#xff0c;先要在C仿真文件中对PCIe C代理做一个实例化声明。PCIe C代理负责两件事&#xff1a;从C仿真程序获得事务报文&#xff0c;并将其通过信号接口发送给BFM。从信号接口接收事务响应报文&#xff0c;并将其发送给C仿真程序。注意&#…...

Webpacker终极集成指南:如何与React、Vue、TypeScript完美协作

Webpacker终极集成指南&#xff1a;如何与React、Vue、TypeScript完美协作 【免费下载链接】webpacker Use Webpack to manage app-like JavaScript modules in Rails 项目地址: https://gitcode.com/gh_mirrors/we/webpacker Webpacker是Rails生态系统中一个革命性的工…...

Git-RSCLIP快速入门:基于1000万图文对训练的遥感AI模型实测

Git-RSCLIP快速入门&#xff1a;基于1000万图文对训练的遥感AI模型实测 1. 模型概述&#xff1a;专为遥感场景打造的智能助手 Git-RSCLIP是北京航空航天大学团队基于SigLIP架构专门开发的遥感图像理解模型。这个模型最特别之处在于它使用了Git-10M数据集进行训练——这是一个…...

鸿蒙中 免密身份认证:Online Authentication Kit

本文同步发表于微信公众号&#xff0c;微信搜索 程语新视界 即可关注&#xff0c;每个工作日都有文章更新 在应用开发中&#xff0c;身份认证是一个核心功能。传统的密码登录方式存在记忆成本高、安全性风险大等问题。鸿蒙系统提供了Online Authentication Kit&#xff08;在线…...

如何让多设备协作更高效?揭秘QKeyMapper的跨硬件无缝解决方案

如何让多设备协作更高效&#xff1f;揭秘QKeyMapper的跨硬件无缝解决方案 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper&#xff0c;Qt开发Win10&Win11可用&#xff0c;不修改注册表、不需重新启动系统&#xff0c;可立即生效和停止。支持游戏手柄映射到键鼠&…...

3大突破!WPS-Zotero如何重塑科研文献管理流程

3大突破&#xff01;WPS-Zotero如何重塑科研文献管理流程 【免费下载链接】WPS-Zotero An add-on for WPS Writer to integrate with Zotero. 项目地址: https://gitcode.com/gh_mirrors/wp/WPS-Zotero 你是否正在经历这些文献管理困境&#xff1f; 当你在Linux系统上撰…...

【MicroPython编程-ESP32篇:设备驱动】-PCF8591数据采集驱动

PCF8591数据采集驱动 文章目录 PCF8591数据采集驱动 1、PCF8591介绍 2、软件准备 3、硬件准备与接线 4、程序实现 4.1 PCF8591驱动实现 4.2 主程序 1、PCF8591介绍 PCF8591 是一款单片集成、独立电源、低功耗、8 位 CMOS 数据采集设备。 PCF8591 具有四个模拟输入、一个模拟输…...

ComfyUI视频工作流解决方案:从图像序列到专业视频输出的完整指南

ComfyUI视频工作流解决方案&#xff1a;从图像序列到专业视频输出的完整指南 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite 还在为ComfyUI中复杂的视频处理流程而…...

百度网盘下载加速终极指南:3分钟学会高速下载技巧

百度网盘下载加速终极指南&#xff1a;3分钟学会高速下载技巧 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘的龟速下载而烦恼吗&#xff1f;每次下载大文件都…...

城通网盘下载速度慢?试试ctfileGet,让你畅享本地高速解析体验

城通网盘下载速度慢&#xff1f;试试ctfileGet&#xff0c;让你畅享本地高速解析体验 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 在数字化办公与学习中&#xff0c;网盘已成为文件传输的重要工具。…...