代码随想录Day20——二叉树

news/2025/11/24 19:26:26/文章来源:https://www.cnblogs.com/ChenYinging/p/19265444

二叉搜索树求最近公共祖先

题目理解

二叉搜索树是有序的,如果是左中右排的话,只要在有序数组中查找两数之间的根节点就可以了。不需要遍历整棵树,找到就可以。

代码块

class Solution {
public:TreeNode* traversal(TreeNode* curr, TreeNode* p, TreeNode* q) {if (curr == NULL)return curr;if (curr->val > p->val && curr->val > q->val) {TreeNode* left = traversal(curr->left, p, q);if (left != NULL)return left;}if (curr->val < p->val && curr->val < q->val) {TreeNode* right = traversal(curr->right, p, q);if (right != NULL)return right;}return curr;  }TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {if (root == NULL)return root;return traversal(root, p, q);}
};

二叉搜索树中的插入操作

题目理解

在已知的一个二叉搜索树中插入一个节点,使插入操作之后该树依然是二叉搜索树。

思路

代码

class Solution {
public:TreeNode* insertIntoBST(TreeNode* root, int val) {if (root == NULL) {TreeNode* node = new TreeNode(val);return node;}if (root->val > val)root->left = insertIntoBST(root->left, val);if (root->val < val)root->right = insertIntoBST(root->right, val);return root;}
};

二叉搜索树中的删除操作

代码

class Solution {
public:TreeNode* deleteNode(TreeNode* root, int key) {if(root==NULL)  return root;if(root->val==key){if(root->left==NULL&&root->right==NULL) return NULL;if(root->left!=NULL&&root->right==NULL) return root->left;if(root->left==NULL&&root->right!=NULL) return root->right;else{TreeNode* curr=root->right;while(curr->left!=NULL)  {curr=curr->left;}curr->left = root->left;TreeNode*tmp=root;root =root->right;tmp->left=curr->left;delete tmp;return root;}}if(root->val>key) root->left=deleteNode(root->left,key);if(root->val<key) root->right=deleteNode(root->right,key);return root;}
};

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

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

相关文章

数学的大厦(六):有理数、无理数、实数

从有理数到实数的这一步,是整个构建过程中最深刻、最反直觉的一次飞跃。 我们之前构建自然数、整数、有理数,都像是在用乐高积木搭建已知的、离散的结构。每一个新数,我们都能明确地指出它是什么,比如 -2 是 {(0,2…

CF2157B Expansion Plan 2 - Link

发现操作\(4\)和操作\(8\)可以交换,考虑把操作序列变成形如\(888\dots 444\dots\) \((\)一些\(8\)加一些\(4\)\()\)的形式。设有\(a\)个\(4\),\(b\)个\(8\)。如果存在点\((x,y)\)满足\(|x-x|+|y-y|\le b\&\&…

2025水肥一体机哪个厂家好及水肥一体机厂家联系方式汇总

2025水肥一体机哪个厂家好及水肥一体机厂家联系方式汇总!在水肥一体化技术快速发展的2025年,选择一家技术过硬、服务优质的设备厂家至关重要。除了知名大品牌外,市场上还有许多专注于技术创新、质量可靠的潜力企业值…

2025无缝焊接窗用高温隔热条哪家好?实力厂家优势解析

2025无缝焊接窗用高温隔热条哪家好?实力厂家优势解析。无缝焊接窗凭借气密性优良、外观平整及使用寿命长的优势,在高端建筑与品质住宅中应用日益广泛。而适配无缝焊接窗的高温隔热条,需满足耐高温、抗变形、与型材融…

2025门窗定制推荐厂家-金华质量好的门窗厂家推荐

2025门窗定制推荐厂家-金华质量好的门窗厂家推荐。在门窗定制过程中,厂家的产品质量、定制能力与服务水平直接影响使用体验。本文围绕“门窗定制适配性”与“金华本地产品品质”两大核心,筛选出7家门窗厂家,为有定制…

2025福建谷歌优化公司推荐/福建独立站建站公司推荐

从传统外贸到品牌出海,福建企业正凭借专业独立的国际化网站,在全球市场抢占先机。随着全球跨境电商的快速发展,独立站已成为中国企业出海的重要通道。作为外贸大省的福建,依托深厚的跨境电商资源和产业基础,形成了…

2025气动接头生产厂家推荐,优质气动接头厂家精选

2025气动接头生产厂家推荐,优质气动接头厂家精选。气动接头作为气动系统中连接管路与设备的关键部件,其质量与性能直接影响系统的稳定性和效率。以下为大家推荐几家口碑上乘的气动接头厂家,供相关企业参考选择。第一…

2025替代进口的气动接头厂家精选分析

2025替代进口的气动接头厂家精选分析。随着国内制造业技术的不断提升,越来越多的国产气动接头在性能、质量等方面已达到或接近进口产品水平,成为替代进口的理想选择。以下为大家推荐几家在替代进口领域表现出色的气动…

2025电动车连接器厂家优选,靠谱锂电池连接器厂家推荐测评

2025电动车连接器厂家优选,靠谱锂电池连接器厂家推荐测评!2025 年,电动车与锂电池行业持续高速发展,连接器作为保障设备安全性与可靠性的关键组件,其技术特性与适配能力愈发受到关注。以下梳理该领域 8 家具有细分特…

2025优质水性喷胶厂家推荐盘点

2025优质水性喷胶厂家推荐盘点。水性喷胶凭借环保、高效等特性,在家具制造、包装、制鞋等行业应用广泛。以下为大家推荐几家优质的水性喷胶厂家,供相关企业参考。第一:浙江瑞邦新材料有限公司 推荐指数:★★★★★…

2025电抗器厂家推荐,进出线电抗器厂家精选盘点

2025电抗器厂家推荐,进出线电抗器厂家精选盘点。在工业与电力应用领域,电抗器作为关键元器件,对系统稳定性、电能质量及设备保护起着重要作用。进出线电抗器则广泛应用于变频器、逆变器等设备的输入输出端,以抑制谐…

2025俄罗斯电商开店工具:俄罗斯电商选品软件测评

2025俄罗斯电商开店工具:俄罗斯电商选品软件测评!在俄罗斯电商市场快速拓展的态势下,Wildberries、Ozon 及 Yandex Market 等平台成为众多跨境商家的新核心目标。高效的数据分析与选品工具,对商家的成功起着关键作用…

2025矿山机厂家推荐,精选矿山开采设备厂家推荐

2025矿山机厂家推荐,精选矿山开采设备厂家推荐。在矿产资源开采领域,矿山机械设备的性能直接影响生产效率和作业安全。以下根据设备技术参数、工况适应性及用户使用反馈,对矿山开采设备生产企业进行介绍。1.福建省华…

2025变压器厂家排名盘点,CE认证变压器工厂深度解析

2025变压器厂家排名盘点,CE认证变压器工厂深度解析。CE认证作为欧盟及欧洲经济区(EEA)市场的核心准入标准,对变压器的电气安全(LVD指令)、电磁兼容性(EMC指令)提出严苛要求,同时也是产品进入全球多个认可CE标…

2025推荐控制变压器厂家实力解析

2025推荐控制变压器厂家实力解析。控制变压器作为工业自动化、电力系统、精密设备等领域的核心配套设备,承担着为控制元件、信号系统提供稳定低压电源的关键作用,其性能稳定性、安全可靠性直接影响下游设备的运行效率…

2025稳压器厂家哪家好?优质厂家实力测评

2025稳压器厂家哪家好?优质厂家实力测评。在电力设备与工业系统中,稳压器对保障电压稳定、保护后端设备运行具有重要作用。不同制造企业在产品设计、工艺水平和适用场景方面存在差异。Top1北京奥恒达电气设备有限公司…

End-To-End之于推荐-快手OneRec系列三(OneRec-Think) - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Cursor 的提示词

Cursor是一款AI编程助手,其提示词是用户与它沟通的关键,通过合理编写提示词可让其更高效地生成所需代码。以下是一些常见的Cursor提示词及用法:代码生成提示词:用于让Cursor生成特定功能的代码。例如“请创建一个使…

Ubuntu 22.04 扩展 swap 内存从 2GB 到 16GB(开机自动生效)

步骤 1:关闭当前 swap :sudo swapoff /swapfile 步骤 2:调整 swapfile 大小为 16GB 方法 A:fallocate(最快) :sudo fallocate -l 16G /swapfile 方法 B:dd(更稳) :sudo dd if=/dev/zero of=/swapfile bs=1…

今日Reddit AI高价值讨论分析 10.25 - 实践

今日Reddit AI高价值讨论分析 10.25 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…