合并两棵二叉树

2023-11-07

还是使用?的递归写法套路情况

八股文, 类似于归并排序的一样的情况

package Tree;

public class megertwotree {

    //树中常见的递归套路题目
    //八股文写法, 先处理根节点,然后就是左边,右边
    // 根的左孩子节点= 递归调用函数(根节点的左孩子节点)
    // 根的右孩子节点= 递归调用函数(根节点的右孩子节点)

    //这个

    public TreeNode meger(TreeNode t1, TreeNode t2){
        if(t1==null&& t2==null){
            return null;
        }
        else if(t1!=null && t2!=null){
            //还是两部走的步骤
            t1.val+= t2.val;
            t1.right =meger(t1.right,t2.right);
            t1.left =meger(t2.left,t2.left);
        }
        else {
            return t1 == null ? t1 : t2;
        }
        return t1;

    }
    public TreeNode  solution(TreeNode t1,TreeNode t2){
        if(t1==null && t2==null)
        {
            return null;
        }
        else if(t1==null)
        {
            return t2;
        }
        else if(t2==null){
            return t1;
        }
        else {
            TreeNode merged= new TreeNode(t1.val+t2.val);
            merged.left=solution(t1.left,t2.left);
            merged.right=solution(t1.right,t2.right);
            return merged;
        }
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

合并两棵二叉树 的相关文章

  • ros::spin()和ros::spinOnce()介绍讲解及区别

    首先要理解的一点是 任何一个发布和订阅 都会有其对应的发布缓存区和订阅缓存区 正如advertise和subscribe函数中都有缓存数量的参数 当有发布者发布消息后 会存放在发布缓存区 如果该topic有订阅者 则从发布缓存区读取到订阅缓
  • Redis数据类型

    业务数据的特殊性 数据类型既然是用来描述数据的存储格式的 如果你不知道哪些数据未来会进入到我们来的redis中 那么对应的数据类型的选择就会出现问题 原始业务功能设计 秒杀 他这个里边数据变化速度特别的快 访问量也特别的高 用户大量涌入以后
  • kali root默认密码_Kali Linux root 默认密码是:toor

    如果你听到一个 13 岁的黑客吹嘘他是多么的牛逼 是有可能的 因为有 Kali Linux 的存在 尽管有可能会被称为 脚本小子 但是事实上 Kali 仍旧是安全专家手头的重要工具 或工具集 Kali 是一个基于 Debian 的 Linu
  • java实现读取服务器日志文件,Java实时读取日志文件

    编码实现 写日志文件 每秒写200条记录 并且记录写的时间 import java io File import java io IOException import java io RandomAccessFile import java
  • vue配置开发环境和生产环境调用不同的域名以及跨域问题

    注意 这里vue项目与后端是前后端完全分离的 所有请求后端的地址是不一样的 安装axios npm install axios 然后 npm install save axios vue axios 用到post请求时 需要安装qs imp
  • Apache RocketMQ 5.0 消息进阶:如何支撑复杂的业务消息场景?

    一致性 首先来看 RocketMQ 的第一个特性 事务消息 事务消息是 RocketMQ 与一致性相关的特性 也是 RocketMQ 有别于其他消息队列的最具区分度的特性 以大规模电商系统为例 付款成功后会在交易系统中订单数据库将订单状态更
  • #101. 级数求和(3月31日)

    一 这题很简单我们只要注意高精度就行了 我一开始就是使用int型 傻傻算半天 int型 1 任何数 都只得整数 所以我们要用double来计算 只要从1开始一直网上循环摘要当我们的sn大于p时我们就停止循环 这题就是这样只要注意高精度就行了

随机推荐

  • linux链接jsoncpp库时,报一堆标准库错误的解决方法

    最近在一个工程中链接jsoncpp库 Makefile文件中添加包含路径代码 I usr local include json 编译时报错 usr include stdio h 821 错误 FILE 在此作用域中尚未声明 usr inc
  • 隐患重重遭诟病 细数固态硬盘“七宗罪”

    此内容转自网络 本人认为文章内容优秀 只作收藏 作为自己的知识库 并不用他用 原文链接地址为 http ssd zol com cn 471 4715723 all html 隐患重重遭诟病 细数固态硬盘 七宗罪 2015 02 28 19
  • vue.js -- slot插槽

    slot插槽 子组件提供给父组件使用的占位符 表示父组件可以占位符中填充内容 填充的内容会替换子组件的标签 插槽显不显示 怎样显示是由父组件来控制的 而插槽在哪里显示就由子组件来进行控制 slot作用域 slot在哪里调用 就使用哪里的数据
  • 数据管道(data pipeline)与ETL管道(ETL pipeline)的区别

    数据管道与ETL管道 这两个词的意义是相近的 差别比较微小 有时候很多人会混用 ETL管道 描述的是一组进程 实现将数据从一个系统抽取出来 经过转换 最终再加载到其他数据库或数据仓库中 数据管道 是一个比ETL管道更加通用的术语 只要是实现
  • 生成式AI:为开发者设计的革命性工具

    随着人工智能技术的飞速发展 生成式AI已成为许多领域的关键技术 生成式AI是指一类人工智能技术 能够通过学习数据集的内在规律和相关性 生成全新的 真实的 有用的数据 这种技术已经被广泛应用于图像 语音 自然语言处理等领域 成为人工智能领域的
  • 以太坊虚拟机EVM的工作原理是怎样的

    以太坊虚拟机EVM的工作原理是怎样的 如果你打算尝试在以太坊区块链上开发智能合约 或者已经在该领域工作了一段时间 可能会遇到EVM一词 EMV是太坊虚拟机的缩写 虚拟机本质上是在执行代码和执行的机器之间创建一个抽象级别 需要这一层抽象来提高
  • android系统 分辨率对应资源文件

    分辨率对比 ldpi 240x320 mdpi 320x480 hdpi 480x800 480x854 xhdpi 至少960 720 xxhdpi 1280 720 或 ldpi QVGA 240 320 mdpi HVGA 320 4
  • C++const修饰变量,函数,类

    const修饰变量 const的作用是 在编写程序过程中 因为我们会调用各种函数 假如我们并不想让某个已经赋了初值的变量在程序运行过程中受到改变 因此我们用const来作为关键字来修饰 定义格式 const typename 变量名 con
  • vue中 根据判断条件添加一个或多个style,及class的写法

    style 写法
  • 【pygame】font 模块

    pygame font Pygame 中加载和表示字体的模块 函数 pygame font init 初始化字体模块 pygame font quit 还原字体模块 pygame font get init 检查字体模块是否被初始化 pyg
  • libmad 解码mp3并且播放测试

    测试环境 window64 codeblock mingw64 下载libmad源码后发现自带的minimad c是用了linux的API 所以修改了下 将 F d mp3音乐文件解码后将pcm数据写入F d pcm 并且用ffplay播放
  • 阿里 前端 规范_阿里前端开发规范

    前端代码规范 Front Standard Guide 前端 JS 项目开发规范 规范的目的是为了编写高质量的代码 让你的团队成员每天得心情都是愉悦的 大家在一起是快乐的 引自 阿里规约 的开头片段 现代软件架构的复杂性需要协同开发完成 如
  • 【Liunx常用操作】利用iso镜像制作并使用本地yum源(CentOS7.6为例)

    提示 为保证文章的正确性和实用性 文章内容可能会不定时优化改进 若您有建议或者文章存在错误请私信留言或评论指正 下面以CentOS7 6操作系统为例 介绍具体的操作步骤 如果本文对你有帮助 记得关注加收藏 1 文章前言 在私网环境中部署的L
  • 【多线程中的线程安全问题】线程互斥

    1 线程间的互斥相关背景概念 先来看看一些基本概念 1 临界资源 多线程执行流共享的资源就叫做临界资源 2 临界区 每个线程内部 访问临界资源的代码 就叫做临界区 3 互斥 任何时刻 互斥保证有且只有一个执行流进入临界区 访问临界资源 通常
  • uni-app 打包之后日志输出和调试

    背景 真机调试时console log可以在控制台输出 但是 打包上线后 我们想查看apk的运行情况和调试日志 竟然官网没有方式 只有android app记录运行日志 通过abd指令 这是最无语的事 我还得学abd指令 逗我呢 反正收集用
  • 【木头Cocos2d-x 032】我是定时器(第01章)—我爱单线程之schedule介绍

    我是定时器第01章 我爱单线程之schedule介绍 本来今天我应该要做其它事情的 但是和一位网友提起了schedule 我无法按捺心中对写教程的热血和冲动 所以我就决定要写关于schedule的使用心得了 小若 我噗 永远都是那么唠叨 笨
  • Golang(Go语言)中Protobuf的使用

    什么是protobuf protobuf也叫protocol buffer是google 的一种数据交换的格式 它独立于语言 独立于平台 google 提供了多种语言的实现 java c c go 和 python 每一种实现都包含了相应语
  • CSS属性选择器的高级用法(内含一道编程测试题)

    目录 0 简述属性选择器 1 href url 设置页面上所有包含href属性并且属性值为https www baidu com的a元素 2 class 设置页面上所有含有class属性并且属性值的词列表的某个词等于baidu的div元素
  • 社科院和英国斯特灵大学在职博士,选择真的很重要

    现代社会飞速发展 稍不留神就会被落下 读博可以接触到更多的社会经验 学习心得 交流探讨 掌握最新的行业发展动态 对自己未来的发展有更清楚的规划 中国社科院和英国斯特灵大学可以作为自己的一个新的起点 给自己一个新的前方 很多的职场人员未来追求
  • 合并两棵二叉树

    还是使用 的递归写法套路情况 八股文 类似于归并排序的一样的情况 package Tree public class megertwotree 树中常见的递归套路题目 八股文写法 先处理根节点 然后就是左边 右边 根的左孩子节点 递归调用函