leetcode 1382. 将二叉搜索树变平衡 中等 📅 发布时间:2026/7/5 3:36:32 👁️ 浏览次数: 给你一棵二叉搜索树请你返回一棵平衡后的二叉搜索树新生成的树应该与原来的树有着相同的节点值。如果有多种构造方法请你返回任意一种。如果一棵二叉搜索树中每个节点的两棵子树高度差不超过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,vectorintval) { if(node-left!NULL)inorder(node-left,val); val.push_back(node-val); if(node-right!NULL)inorder(node-right,val); } TreeNode* build(vectorintval,int l,int r) { if(lr)return NULL; int mid(lr)/2; TreeNode *p(TreeNode*)malloc(sizeof(TreeNode)); p-valval[mid];p-leftbuild(val,l,mid);p-rightbuild(val,mid1,r); return p; } TreeNode* balanceBST(TreeNode* root) { vectorintval; inorder(root,val); int nval.size(); TreeNode *root_newbuild(val,0,n); return root_new; } };
PCIE retimer 的电阻检测原理是什么? 🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者&… 2026/7/4 12:08:19
韩国交易所Bithumb误向用户发放62万枚比特币(价值400亿美元) 2026年2月6日,韩国加密货币交易所Bithumb在常规促销活动发放奖励时出现系统配置错误,导致用户账户被错误计入大额比特币余额,而非原本计划发放的小额奖励。系统错误引发市场震荡该故障发生在促销活动期间,获奖用户本应收到价值约2… 2026/7/3 5:25:44
探索基于边缘计算的资源卸载与群智能优化算法定制 基于边缘计算的资源卸载 群智能优化算法定做,算法设计 在当今数字化飞速发展的时代,数据量呈爆炸式增长,设备对于资源的需求也日益迫切。边缘计算作为一种新兴的计算模式,正逐渐崭露头角,为解决资源紧张问题提供了新思… 2026/5/17 3:39:24
AI学习(2)——补:linux自启动llama 开机自启动 创建自启动脚本样本 (之前已说明,不过多赘述) #!/bin/bash# 1. 初始化 Conda (请将路径替换为你实际的 miniconda/anaconda 安装路径) source /home/wuakaka/anaconda3/etc/profile.d/conda.sh# 2. 激活指定的虚拟环境 conda acti… 2026/7/5 3:33:03
跟我一起进行KiCad设计(五):从零到一的PCB实战布局与布线 1. 从原理图到PCB的关键第一步当你完成原理图设计后,激动人心的PCB设计阶段就开始了。我清楚地记得第一次使用KiCad时,面对空白的PCB画布那种既兴奋又忐忑的心情。别担心,跟着我的步骤走,你也能顺利完成这个转变。首先点击工具栏的… 2026/7/5 3:27:02
PW7120+PW8205A8TS*3两串锂电池充放电保护板方案,持续4.5A,过流保护13.5A 概述 本保护板采用平芯微自研PW7126保护芯片,搭配PW80N03 2 MOS管,为3S(三节串联锂电池组11.1V,12.6V满充)锂电池组提供完整的过充、过放、过流及短路保护。持续放电电流7A,过流保护阈值约10A。主控芯片介… 2026/7/5 3:23:00
系统架构技能之设计模式-抽象工厂模式 上篇回顾 上篇我们主要讲述了简单工厂模式和工厂模式。并且分析了每种模式的应用场景和一些优缺点,我们现在来回顾一下: 简单工厂模式:一个工厂负责所有类型对象的创建,不支持无缝的新增新的类型对象的创建。 工厂模式:… 2026/7/5 3:20:59
【全网最详细】Inventor 2027下载免费版 Inventor三维机械设计软件安装图解(2026最新) 文章目录前言Inventor 2027 下载Inventor 2027 安装教程Inventor 2027怎么创建参数化零件?一步步教你操作步骤前言 说到三维机械设计,搞过工业建模的朋友对 Autodesk Inventor 应该不陌生。Inventor Professional 2027(简称 Inventor Pro 20… 2026/7/5 3:20:59
多层金属的“异质变形“为什么是矫平工艺的终极难题? 在金属板材加工领域,复合板(又称金属层状复合材料)正越来越多地应用于石油化工、海洋工程、核电和食品制药等行业。校平机作为消除板材残余应力、恢复平整度的关键设备,在面对复合板时遇到了与单质金属完全不同的技术挑战。复合板… 2026/7/5 3:16:58
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36