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

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

题目:

题解:

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.mrgr.cn/news/65832.html

相关文章:

  • python爬取旅游攻略(1)
  • 鸿蒙开启无线调试
  • 企业AI助理驱动的决策支持:从数据洞察到战略执行
  • android——渐变色
  • 大数据计算里的-Runtime Filter
  • C语言案例——青蛙跳台阶问题
  • 科研绘图系列:R语言圆堆积图(circle stacked plot)
  • Nginx线程模型
  • 【AIGC】如何通过ChatGPT轻松打造个性化GPTs应用
  • 【数据结构- 合法括号字符串】力扣1190. 反转每对括号间的子串
  • 代码训练营 day55|卡码网98
  • Linux:网络协议socket
  • 高频面试题基本总结(含笔试高频算法整理)回顾44
  • 从最小作用量原理推导牛顿三大定律
  • 简单题:环状 DNA 序列的最小表示法| 豆包MarsCode AI刷题
  • PGMP练-DAY16
  • Android沙箱
  • 不画饼——研究生学习和赚钱的平衡点
  • 【鸿蒙】开发者攻略:借力鸿蒙生态,打造全场景应用新体验
  • Javascipt基础__1
  • 嵌入式开发之文件I/O-函数
  • 1003-leetcode补打卡 最长公共前缀
  • 强网杯2024 Web WP
  • 制造业大模型应用案例赏析
  • [OS] sys_mmap() 函数+
  • FFMPEG录屏(21)--- Linux 下基于X11枚举所有可见窗口,并获取标题、图标、缩略图、进程路径等信息