C语言 | Leetcode C语言题解之第538题把二叉搜索树转换为累加树

devtools/2024/11/8 6:12:22/

题目:

题解

struct TreeNode* getSuccessor(struct TreeNode* node) {struct TreeNode* succ = node->right;while (succ->left != NULL && succ->left != node) {succ = succ->left;}return succ;
}struct TreeNode* convertBST(struct TreeNode* root) {int sum = 0;struct TreeNode* node = root;while (node != NULL) {if (node->right == NULL) {sum += node->val;node->val = sum;node = node->left;} else {struct TreeNode* succ = getSuccessor(node);if (succ->left == NULL) {succ->left = node;node = node->right;} else {succ->left = NULL;sum += node->val;node->val = sum;node = node->left;}}}return root;
}

http://www.ppmy.cn/devtools/132227.html

相关文章

数据库索引怎么使用,建表的时候怎么去考虑

在数据库设计和表创建时,索引的合理使用可以显著提升查询效率。但索引的选择和设置需要谨慎,过多或不合理的索引可能会增加写操作的成本和存储空间。以下是建立和使用索引的一些原则和建议: 1. 索引的作用 索引的主要作用是加速查询&#x…

mysql批量生成修改数据库中字段类型的语句

假设需要修改数据库中所有datetime类型的字段为date类型SELECT cl.table_name,cl.column_name,cl.data_type,CONCAT("ALTER TABLE ", cl.table_name, " MODIFY COLUMN `", cl

使用 OpenCV 和 Pyzbar 检测二维码和条码

概述 在现代社会,二维码和条码的应用非常广泛,从商品标签到支付二维码,几乎无处不在。本文将详细介绍如何使用 OpenCV 和 Pyzbar 库在 Python 中检测并识别二维码和条码,并通过具体的代码示例来展示整个过程。 环境准备 在开始…

《安富莱嵌入式周报》第345期:开源蓝牙游戏手柄,USB3.0 HUB带电压电流测量,LCR电桥前端模拟,开源微型赛车,RF信号扫描仪,开源无线电收发器

周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 本周更新一期视频教程 第5期:RTX5/FreeRTOS全家桶源码工程综合实战模板集成CANopen组件(2024-1…

实现GUI界面中的logo图片的编码与隐藏

实现GUI界面中的logo图片的编码与隐藏 一、问题描述二、解决办法 一、问题描述 利用PyQt5编写的GUI界面,有时候需要我们添加自定义的图片来作为UI界面的logo,在源码使用时,logo的形式一般不影响使用,但是当我们需要将软件进行打包…

map.computeIfAbsent() 与 map.putIfAbsent()的异同

map.computeIfAbsent() 和 map.putIfAbsent() 都是 java.util.Map 接口提供的方法,用于处理键值对的插入操作。它们在功能上有相似之处,但也有一些重要的区别。下面详细解释这两个方法的异同: map.putIfAbsent(K key, V value) 功能&#xf…

【AI日记】24.11.07 Building and Evaluating Advanced RAG

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 内容:Building and Evaluating Advanced RAG目标:学习如何构建高级 RAG 和评估 RAG时间:6小时评估:不错,完成,达到目标收获&#x…

vue3学习---案例实现学习

目录 一,京东秒杀导航栏 1,静态样式展示 2,设计步骤 1,html骨架 2,css样式设计 3,vue3动态样式设计 1,v-for使用 1,先在js模块做如下准备 2,v-for遍历 2&#xff…