二叉树构建

由于二叉树的左右子树和整树相似(即子问题和原始问题相似),因此多考虑使用递归的方法解决问题。

·leetcode 108.将有序列表转换为二叉树

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 

平衡

 二叉搜索树。

示例 1:

输入:nums = [-10,-3,0,5,9]
输出:[0,-3,9,-10,null,5]
解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:

示例 2:

输入:nums = [1,3]
输出:[3,1]
解释:[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。

·解题思路

将数组转换为二叉树就是将数组进行二分法,将中间的点作为父节点,构建左右子树。

        Java代码

class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        if(nums.length == 0) return null;
        return build(nums ,0 ,nums.length - 1);
    }
    public TreeNode build(int[] nums , int l , int r){
        if(l > r) return null;
        int mid = l + (r - l) / 2;
        TreeNode root = new TreeNode(nums[mid]);
        root.left = build(nums , l , mid - 1);
        root.right = build(nums, mid+ 1, r);
        return root;
    }
    public class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode(int x) { val = x; }
        TreeNode(int val, TreeNode left, TreeNode right) {
            this.val = val;
            this.left = left;
            this.right = right;
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/702351.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python数据分析个人笔记6

目录 Function application读取数据查看数据信息自定义函数拆分square自定义函数拆分years自定义函数拆分floor自定义函数拆分followInfo1、获取followInfo列2、对followInfo列进行拆分3、提取关注人数4、提取带看次数5、添加到house的最后两列 缺失值处理house.infohouse.drop…

夹层辊能否解决智能测径仪量程不足的问题?

关键字:智能测径仪,测径仪夹层辊,测径仪量程,夹层辊作用,测径仪量程不足, 智能测径仪是一种高精度的测量设备,主要用于检测线材、管材等圆柱形物体的直径尺寸。在测径仪中,夹层辊是测径仪的关键部件之一,它负责引导和支撑被测物体&#xff0c…

三星堆青铜奇迹:揭秘三千年前的先进制造技术

在四川广汉的三星堆遗址中,考古学家们发现了一件令人叹为观止的青铜龟背形网格状器。这件青铜器的制造技术,在当时的技术条件下显得尤为先进,引发了人们对三星堆文明高度发达科技水平的猜测。 青铜是由铜和锡按一定比例混合而成,这…

基于Python的信号处理(包络谱,低通、高通、带通滤波,初级特征提取,机器学习,短时傅里叶变换)及轴承故障诊断探索

Python是一种广泛使用的解释型、高级和通用的编程语言,众多的开源科学计算软件包都提供了Python接口,如计算机视觉库OpenCV、可视化工具库VTK等。Python专用计算扩展库,如NumPy、SciPy、matplotlab、Pandas、scikit-learn等。 开发工具上可用…

警务反诈RPA的用途:提高反诈骗工作效率,保护公众财产安全

互联网时代,电信诈骗手段不断翻新,作案地域广,打击难度大,反诈工作迎来巨大的挑战。为了提升办案效率,精准打击犯罪,以科技赋能反诈工作、构建反诈新格局迫在眉睫。而RPA机器人由于能够快速、准确地处理大量…

10倍速下载!IDM下载器让你的网速飞起来!

在数字化时代,下载工具成为日常工作和生活中不可或缺的一部分。Internet Download Manager(IDM)作为一种广受欢迎的下载加速器,凭借其高效的下载速度、断点续传和多线程技术等特点,深受用户喜爱。然而,随着…

个股期权103call是什么意思?

个股期权103call是什么意思? 在金融市场中,个股期权作为一种金融衍生工具,为投资者提供了多样化的投资策略。其中,“103call”这一术语,特指一种特定的期权交易策略,它涉及到看涨期权与虚值状态。 文章来…

(CVPR,2024)Adversarial Prompt Tuning:只需一个提示词就足以提升预训练视觉-语言模型的对抗性鲁棒性

文章目录 相关资料摘要引言对抗性鲁棒性的文本提示CLIP回顾 方法提示参数化提示优化 实验 相关资料 论文:2403.01849] One Prompt Word is Enough to Boost Adversarial Robustness for Pre-trained Vision-Language Models (arxiv.org) 代码:TreeLLi/…

【干货】SaaS出海业务必看的五个海外流量渠道

一、Product Hunt 月访客约500万 Product Hunt拥有巨大的用户流量和影响力,其全球Alexa排名在前四千以内。许多知名的产品,如ChatGPT、Notion等,都在这里成功上线并获得广泛关注。在美国有什么新产品(不论网站、APP还是插件&…

AI口语练习软件的技术难点

实现AI口语练习软件是一项复杂的任务,需要攻克多项技术难点。随着人工智能技术的不断发展,AI口语练习软件将变得更加智能和人性化,为用户提供更加有效的口语练习体验。北京木奇移动技术有限公司,专业的软件外包开发公司&#xff0…

商家转账到零钱申请内幕最详细解说

商家转账到零钱开通过程中,微信支付官方提供了多达十一种不同的转账场景,这些繁杂的选项经常让商家感到迷茫,难以选择最适合的场景。尤其是申请被拒后,一些商家会试图通过更换场景来碰运气。 不过根据我们上万例的开通经验来看&a…

FPGA设计从初级迈向高级的必备书籍:《FPGA设计实战演练(高级技巧篇)》(可下载)

在FPGA设计的广阔天地中,每一位工程师都是探索者,他们用代码编织逻辑,用创意构建系统。然而,随着技术的发展和系统需求的提升,传统的设计方法已难以满足现代FPGA设计的需求。《FEGA设计实战演练(高级技巧篇…

设置ingress的会话保持

设置ingress通过cookie的会话保持 1.创建ingress,正常填写转发规则 2.添加3个注释 nginx.ingress.kubernetes.io/affinity: cookie nginx.ingress.kubernetes.io/affinity-mode: persistent nginx.ingress.kubernetes.io/session-cookie-name: SESSION #切记&…

细节决定成败!2024年谷歌SEO实战指南

2024年,谷歌搜索引擎算法再次迎来更新,对网站的综合质量和细节优化更加重视。这引发了SEO圈的热议,有人认为细节优化至关重要,也有人对此嗤之以鼻。 误区:很多人做独立站优化以为通过SEO优化,有一个高招能…

为什么要学习Flink系统管理及优化课程?

Flink系统是一种流式处理框架,能够高效地处理大规模数据流。然而,要确保Flink系统的正常运行,就需要进行系统管理和优化。系统管理是指对Flink集群的监控、调度和维护,而系统优化则是指通过调整参数和优化算法,提高Fli…

Python-random模块

一、random模块的用法 import randomprint(random.random()) # 不需要传参,random 返回0-1随机小数print(random.uniform(1, 10)) # 需要传参,返回参数区间的随机小数print(random.randint(-100, 100)) # 需要传参,返回参数区间的随机整数…

腾讯云SSL证书获取及Nginx配置教程

前言 很多人应该都有属于自己网站,刚开始基本是只能用http进行访问,无法使用https安全访问,但是随着网络安全意识的不断提高,越来越多的网站开始使用HTTPS协议来保护用户的数据安全,SSL证书是实现HTTPS协议的关键组件,本文将讲解如何在腾讯云上获取SSL证书,并配置到Ngi…

k8s中的pod域名解析失败定位案例

问题描述 我在k8s中启动了一个Host网络模式的pod,这个pod的域名解析失败了。 定位步骤 敲kubectl exec -it [pod_name] -- bash进入pod后台,查看/etc/resolv.conf,发现nameserver配的有问题。这里我预期的nameserver应该使用宿主机的&…

橡胶:神奇的天然材料

你是否知道,橡胶其实是一个充满神秘与奇妙的世界? 从原始的乳胶,到现代工业中的合成橡胶,它的变化与运用令人叹为观止。橡胶,不仅是轮胎、胶鞋的原材料,更是众多工业产品不可或缺的组成部分。它的弹性、耐磨…

M41T00串行实时时钟-国产兼容RS4C400

RS4C400是一种低功耗串行实时时钟(RTC)。内置32.768 kHz振荡器(外部晶体控制)和RAM的前8个字节用于时钟/日历功能,并以二进制编码十进制(BCD)格式配置。地址和数据通过双线双向总线串行传输。内…