力扣--树题总结

783. 二叉搜索树节点最小距离

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int minDiffInBST(TreeNode* root) {int ans = INT_MAX, pre = -1;dfs(root, pre, ans);return ans;}void dfs(TreeNode* root, int& pre, int& ans){//递归返回条件if(root == nullptr){return;}//前-一直递归到左下角dfs(root->left, pre, ans);//中-处理数据,第一次pre保存左下角值if(pre == -1){pre = root->val;}else{//递归退回到左下角父节点,ans取最小ans = min(ans, root->val - pre);//pre更新到当前节点的valpre = root->val;}//后续dfs(root->right, pre, ans);}
};

872. 叶子相似的树

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:bool leafSimilar(TreeNode* root1, TreeNode* root2) {vector<int> num1;vector<int> num2;inorder(root1, num1);inorder(root2, num2);if(num1.size() != num2.size()) return false;for(int i=0; i< num1.size(); i++){if(num1[i] != num2[i]) return false;}return true;}void inorder(TreeNode* root, vector<int>& num){if(root==nullptr){return;}inorder(root->left, num);if(root->left==nullptr && root->right==nullptr){num.push_back(root->val);}inorder(root->right, num);}
};

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/469577.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

晨控RFID技术助力半导体制造业革新之路

晨控RFID技术助力半导体制造业革新之路 应用背景 随着信息技术的快速发展&#xff0c;无线射频识别技术逐渐成为连接物理世界与数字世界的桥梁。尤其在半导体产业中&#xff0c;RFID技术的应用不仅提升了生产效率&#xff0c;还加强了产品追踪与管理能力&#xff0c;对推动产…

ReactPress:构建高效、灵活、可扩展的开源发布平台

ReactPress Github项目地址&#xff1a;https://github.com/fecommunity/reactpress 欢迎Star。 在当今数字化时代&#xff0c;内容管理系统&#xff08;CMS&#xff09;已成为各类网站和应用的核心组成部分。ReactPress&#xff0c;作为一款融合了现代Web开发多项先进技术的开…

PyTorch版本的3D网络Grad-CAM可视化实验记录

前言 最近在跑代码的时候需要可视化一些网络中间层特征来诊断网络&#xff0c;但是我的backbone是一个3D网络&#xff0c;一般的Grad-CAM都是在2D网络中应用更广泛&#xff0c;查了一下也只有几篇博文是关于3D Grad-CAM的介绍的。自己参照他们的代码试了一下&#xff0c;但是可…

基于STM32的智能充电桩:集成RTOS、MQTT与SQLite的先进管理系统设计思路

一、项目概述 随着电动车的普及&#xff0c;充电桩作为关键基础设施&#xff0c;其智能化、网络化管理显得尤为重要。本项目旨在基于STM32微控制器开发一款智能充电桩&#xff0c;能够实现高效的充电监控与管理。项目通过物联网技术&#xff0c;提供实时数据监测、远程管理、用…

.NET中通过C#实现Excel与DataTable的数据互转

在.NET框架中&#xff0c;使用C#进行Excel数据与DataTable之间的转换是数据分析、报表生成、数据迁移等操作中的常见需求。这一过程涉及到将Excel文件中的数据读取并加载至DataTable中&#xff0c;以便于利用.NET提供的丰富数据处理功能进行操作&#xff0c;同时也包括将DataTa…

域名服务系统DNS (Domain Name System)

域名的介绍 熟悉了域名之后&#xff0c;不仅仅是应对考试&#xff0c;生活中看到一个常规的网址&#xff0c;我们也能快速想到这个网址对应的含义是什么&#xff0c;并且在记忆网址的时候也更加得心应手&#xff0c;快速了解域名中各个层级的含义&#xff0c;这是 非常有趣呢…

Kettle——CSV文件转换成excel文件输出

1.点击—文件—新建—转换 拖入两个组件&#xff1a; 按shift&#xff0b;鼠标左击建立连接&#xff0c;并点击主输出步骤&#xff0c; 点击CSV文件输入&#xff0c;选择浏览的csv文件&#xff0c;然后点击确定 同样&#xff0c;Excel也同上&#xff0c;只是要删除这个xls 并…

Select,poll,epoll和IO多路复用和NIO

Select&#xff0c;poll&#xff0c;epoll和IO多路复用和NIO IO 多路复用&#xff1a;是一种 I/O 处理机制&#xff0c;它允许单个线程同时处理多个 I/O 流&#xff08;如多个文件描述符对应的网络连接、文件操作等&#xff09;的输入输出操作&#xff0c;通过一种机制来监听这…

希尔排序(C语言)

一、步骤&#xff1a; 希尔排序的基本思想&#xff1a;先选定一个整数&#xff0c;把待排序文件中所有记录分成个组&#xff0c;所有距离为gap的记录分在同一组内&#xff0c;并对每一组内的记录进行排序。然后取重复上述分组和排序的工作。当到gap 1时&#xff0c;所有记录在…

自动驾驶为什么需要时间同步?高精度时间同步如何实现?

自动驾驶作为汽车与物联网技术、人工智能等高新技术融合的产物&#xff0c;具有新颖性、复杂性和巨大的挑战性。自动驾驶需要实时传输、处理海量数据&#xff0c;并实时做出决策&#xff0c;这不仅要求有通畅网络通信环境、强大的数据算力&#xff0c;更要求时间同步的超低时延…

【信号处理】基于联合图像表示的深度学习卷积神经网络

Combined Signal Representations for Modulation Classification Using Deep Learning: Ambiguity Function, Constellation Diagram, and Eye Diagram 信号表示 Ambiguity Function(AF) 模糊函数描述了信号的两个维度(dimensions):延迟(delay)和多普勒(Doppler)。 …

C++20 概念与约束(1)—— SFINAE

●《C20 概念与约束&#xff08;1&#xff09;—— SFINAE》 《C20 概念与约束&#xff08;2&#xff09;—— 初识概念与约束》 《C20 概念与约束&#xff08;3&#xff09;—— 约束的进阶用法》 1、从模板说起 众所周知&#xff0c;C在使用模板时&#xff0c;如果有多…

[极客大挑战 2019]PHP 1

[极客大挑战 2019]PHP 1 审题 猜测备份在www.zip中&#xff0c;输入下载文件。 知识点 反序列化 解题 查看代码 看到index.php中包含了class.php,直接看class.php中的代码 查看条件 当usernameadmin&#xff0c;password100时输出flag 构造反序列化 输入select中&#…

Kubebot:一款Google云平台下的Slackbot安全测试工具

Kubebot 今天给大家介绍的是一款名叫Kubebot的安全测试Slackbot&#xff0c;该工具基于Google 云平台搭建&#xff0c;并且提供了Kubernetes后端。 项目架构 数据流 1.API请求由Slackbot发起&#xff0c;发送至API服务器&#xff0c;API服务器以Kubernetes(K8s)集群中的Docke…

Kubernetes的基本构建块和最小可调度单元pod-0

文章目录 一&#xff0c;什么是pod1.1pod在k8s中使用方法&#xff08;1&#xff09;使用方法一&#xff08;2&#xff09;使用方法二 1.2pod中容器的进程1.3pod的网络隔离管理&#xff08;1&#xff09;pause容器的作用 1.4 Pod分类&#xff1a;&#xff08;1&#xff09;自主式…

Redis安装(Windows环境)

目录 1.下载2.双击安装后配置环境变量3.启动服务4.设置Windows服务5.启动客户端6.常用的Redis服务命令7.使用图形化界面工具查看Redis内部数据情况类似Navicat 连接数据库 1.下载 1.点击github下载地址 2.上方资源链接下载安装 2.双击安装后配置环境变量 3.启动服务 上图虽然…

windows下qt5.12.11使用ODBC远程连接mysql数据库

1、下载并安装mysql驱动,下载地址:https://dev.mysql.com/downloads/ 2、配置ODBC数据源,打开64位的ODBC数据源配置工具:

【AI写作宝-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

GFPS技术原理(四)GATT特征值

Fast Pair服务 fast pair 服务的UUID 是0xFE2C&#xff0c;然后它又包含多个特征值&#xff0c;下面一一分析&#xff1a; Model ID UUID是0x1233&#xff0c;设备在谷歌云注册的时候会分配一个24 bit的ID。 Key-based Pairing UUID是0x1234&#xff0c;这个是用来做DH密钥…

3.2 软件需求:面对过程分析模型

面对过程分析模型 1. 需求分析的模型概述1.1 面对过程分析模型-结构化分析方法1.2 结构化分析的过程 2. 功能模型&#xff1a;数据流图初步2.1 加工2.2 外部实体&#xff08;数据源点/终点&#xff09;2.3 数据流2.4 数据存储2.5 注意事项 3. 功能模型&#xff1a;数据流图进阶…