news 2026/5/30 17:21:37

Day21 >> 669、修剪二叉搜索树 + 108、将有序数组转换为二叉搜索树 + 538、把二叉搜索树转换为累加树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Day21 >> 669、修剪二叉搜索树 + 108、将有序数组转换为二叉搜索树 + 538、把二叉搜索树转换为累加树

代码随想录-二叉搜索树

669、修剪二叉搜索树

  1. 首先根据二叉搜索树的特性,寻找要修剪的节点
    1. 如果当前节点小于最小值,那么该节点需要修剪,继续往该节点的右子树遍历,因为该节点的左子树肯定都要被修剪掉了
    2. 同理,如果当前节点大于最大值,那么该节点需要修剪,继续往该节点的左子树遍历,因为该节点的右子树都要被修剪掉了
  2. 子树修剪完成后,需要把修改后的子树的根节点往上返回
class Solution { public TreeNode trimBST(TreeNode root, int low, int high) { if (root == null) return null; if (root.val < low) return trimBST(root.right, low, high); if (root.val > high) return trimBST(root.left, low, high); root.left = trimBST(root.left, low, high); root.right = trimBST(root.right, low, high); return root; } }

108、将有序数组转换为二叉搜索树

需要复习一下二叉树的构造了

class Solution { public TreeNode sortedArrayToBST(int[] nums) { return createBST(nums, 0, nums.length - 1); } private TreeNode createBST(int[] nums, int left, int right) { if (left > right) return null; int mid = left + ((right - left) >> 1); TreeNode root = new TreeNode(nums[mid]); root.left = createBST(nums, left, mid - 1); root.right = createBST(nums, mid + 1, right); return root; } }

538、把二叉搜索树转换为累加树

class Solution { int sum = 0; public TreeNode convertBST(TreeNode root) { convert(root); return root; } private void convert(TreeNode root) { if (root == null) return ; convert(root.right); sum += root.val; root.val = sum; convert(root.left); } }

代码随想录-二叉树总结

周末记得复习下二叉树的总结

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/27 12:09:29

Zotero-Better-Notes关系图谱终极指南:快速构建你的知识网络

Zotero-Better-Notes关系图谱终极指南&#xff1a;快速构建你的知识网络 【免费下载链接】zotero-better-notes Everything about note management. All in Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-better-notes 还在为笔记间的复杂关系而头疼吗&a…

作者头像 李华
网站建设 2026/5/23 7:45:24

anything-llm能否支持GraphQL?现代API接口适配讨论

anything-llm能否支持GraphQL&#xff1f;现代API接口适配讨论 在构建企业级智能问答系统的今天&#xff0c;一个常被忽视但至关重要的问题浮出水面&#xff1a;我们是否还在用十年前的接口方式去驾驭最先进的AI能力&#xff1f; 以 anything-llm 为例——这款集成了RAG引擎、支…

作者头像 李华
网站建设 2026/5/22 2:09:04

IAR安装教程:手把手指南(从零开始搭建嵌入式开发环境)

从零搭建嵌入式开发环境&#xff1a;IAR 安装实战全记录 你有没有遇到过这样的情况&#xff1f; 刚拿到一块新的STM32开发板&#xff0c;兴致勃勃打开电脑准备写代码&#xff0c;结果在安装IDE时卡在了“License not found”&#xff1b;或者编译时报错说路径里有中文字符&am…

作者头像 李华
网站建设 2026/5/20 22:55:16

Ming-flash-omni:100B稀疏MoE多模态大模型预览

Ming-flash-omni&#xff1a;100B稀疏MoE多模态大模型预览 【免费下载链接】Ming-flash-omni-Preview 项目地址: https://ai.gitcode.com/hf_mirrors/inclusionAI/Ming-flash-omni-Preview 多模态大模型领域再添新成员——Inclusion AI团队发布了Ming-flash-omni预览版…

作者头像 李华
网站建设 2026/5/22 0:01:11

WindowResizer:3个步骤让你完全掌控Windows窗口尺寸 [特殊字符]

WindowResizer&#xff1a;3个步骤让你完全掌控Windows窗口尺寸 &#x1f680; 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为那些顽固的软件窗口而烦恼吗&#xff1f;Wind…

作者头像 李华
网站建设 2026/5/20 9:49:23

Elasticvue终极指南:免费浏览器端Elasticsearch管理神器快速上手

Elasticvue终极指南&#xff1a;免费浏览器端Elasticsearch管理神器快速上手 【免费下载链接】elasticvue Elasticsearch gui for the browser 项目地址: https://gitcode.com/gh_mirrors/el/elasticvue 还在为复杂的Elasticsearch集群管理而烦恼吗&#xff1f;Elasticv…

作者头像 李华