news 2026/4/23 17:41:49

leetcode 1382. 将二叉搜索树变平衡 中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 1382. 将二叉搜索树变平衡 中等

给你一棵二叉搜索树,请你返回一棵平衡后的二叉搜索树,新生成的树应该与原来的树有着相同的节点值。如果有多种构造方法,请你返回任意一种。

如果一棵二叉搜索树中,每个节点的两棵子树高度差不超过1,我们就称这棵二叉搜索树是平衡的

示例 1:

输入:root = [1,null,2,null,3,null,4,null,null]输出:[2,1,3,null,null,null,4]解释:这不是唯一的正确答案,[3,1,4,null,2,null,null] 也是一个可行的构造方案。

示例 2:

输入:root = [2,1,3]输出:[2,1,3]

提示:

  • 树节点的数目在[1, 10^4]范围内。
  • 1 <= Node.val <= 10^5

分析:先对原来的二叉搜索树进行中序遍历,得到递增序列。之后令中点作为新平衡树的根,再递归地建立根的左、右子树。

/** * 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: void inorder(TreeNode* node,vector<int>&val) { if(node->left!=NULL)inorder(node->left,val); val.push_back(node->val); if(node->right!=NULL)inorder(node->right,val); } TreeNode* build(vector<int>&val,int l,int r) { if(l==r)return NULL; int mid=(l+r)/2; TreeNode *p=(TreeNode*)malloc(sizeof(TreeNode)); p->val=val[mid];p->left=build(val,l,mid);p->right=build(val,mid+1,r); return p; } TreeNode* balanceBST(TreeNode* root) { vector<int>val; inorder(root,val); int n=val.size(); TreeNode *root_new=build(val,0,n); return root_new; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 6:11:35

系统如何应对时序数据的一致性、性能适配与投入产出平衡三大挑战

金仓数据库助力时序迁移破局&#xff1a;系统应对数据一致性、性能适配与投入产出平衡三大挑战 当一座城市百万辆网约车每秒上传位置轨迹&#xff0c;当风电场600多个站点实时回传设备温度、振动、功率等毫秒级运行数据——时序数据正以PB级规模、高频率、强关联性&#xff0c…

作者头像 李华
网站建设 2026/4/23 12:31:51

软考高项:第8章:项目整合管理(占分分析/考点/题)

一、章节重要性与分值分析 • 章节地位&#xff1a;项目整合管理是项目管理的核心与基石。它起到“穿针引线”的作用&#xff0c;负责协调、统一所有其他知识领域&#xff08;如范围、进度、成本等&#xff09;。如果整合管理做不好&#xff0c;项目各部分就会各自为政&#x…

作者头像 李华
网站建设 2026/4/23 15:24:40

开发转行海洋科技:蓝碳经济中的3个入口

——软件测试从业者的专业转型指南引言&#xff1a;蓝碳经济的时代浪潮与测试人的机遇在全球气候治理的紧迫需求下&#xff0c;蓝碳经济正成为海洋生态保护与经济发展的核心引擎。蓝碳&#xff08;Blue Carbon&#xff09;指海洋生态系统通过光合作用固定的碳&#xff0c;主要包…

作者头像 李华
网站建设 2026/4/23 14:14:59

探秘 Fluent 水冷电机磁热仿真:从建模到温度场分析

fluent水冷电机磁热仿真、网格划分、前处理、3d建模、自然冷却温度场 单向耦合 双向耦合 磁热温度场分析在电机领域&#xff0c;随着技术不断精进&#xff0c;水冷电机因其高效散热性能受到广泛关注。Fluent 作为强大的仿真软件&#xff0c;为水冷电机的磁热分析提供了有力工具…

作者头像 李华
网站建设 2026/4/23 12:46:17

基于matlab的带点粒子在混合场运动的仿真模拟

- 标题&#xff1a; 基于matlab的带点粒子在混合场运动的仿真模拟 - 关键词&#xff1a;matlab GUI界面 电子 质子 自定义粒子 运动轨迹 电场 磁场 - 简述&#xff1a;针对不同混合场的情景&#xff0c;该模拟程序能准确画出带电粒子的运动轨迹。 关键词 matlab GUI界面 电子…

作者头像 李华