您现在的位置是:首页 > 正文

leetcode刷题(第617题)——合并二叉树

2024-01-30 22:35:11阅读 0

一、题目

给你两棵二叉树: root1 和 root2 。

想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而
另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节
点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节
点将直接作为新二叉树的节点。
返回合并后的二叉树。
注意: 合并过程必须从两个树的根节点开始。

二、示例

输入:nums = [2,6,4,8,10,9,15]
输出:5
解释:你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。
输入:root1 = [1], root2 = [1,2]
输出:[2,2]

三、思路
本题采用递归,我们不断地递归相同位置的节点,如果两者都不存在,则直接return null,否则接着对其左右节点分别使用递归。
四、代码展示

/**
 * @param {number[]} nums
 * @return {number}
 */
var findUnsortedSubarray = function(nums) {
    if(isSortArray(nums)) {
        return 0
    }
    let sortNums = [...nums].sort((a, b) => a - b)
    let left = 0
    let right = nums.length - 1
    while(nums[left] === sortNums[left]) {
        left++
    }
    while(nums[right] === sortNums[right]) {
        right--
    }
    return right - left + 1
};
function isSortArray(array) {
    for(let i = 0; i < array.length - 1; i++) {
        if(array[i] > array[i + 1]) {
            return false
        }
    }
    return true
} 

五、总结
在这里插入图片描述

网站文章

  • 压测tps很低并且呈下降趋势,原因解析 热门推荐

    压测tps很低并且呈下降趋势,原因解析

    2024-01-30 22:35:04
  • Python爬虫的解析(学习于b站尚硅谷)

    Python爬虫的解析(学习于b站尚硅谷)

    本文是本人在b站上学习尚硅谷的Python爬虫教程小白零基础速通的,关于爬虫部分后记录的笔记。

    2024-01-30 22:34:57
  • python3基础语法速览——笨方法学python3读书笔记

    utf-8编码 # --coding: utf-8-- 打印 print(&quot;hello world&quot;) print(&quot;Hens&quot;, 25 + 30 / 6) p...

    2024-01-30 22:34:27
  • java反射机制的应用场景有哪些?

    反射是框架设计的灵魂。 在我们平时的项目开发过程中,基本上很少会直接使用到反射机制,但这不能说明反射机制没有用,实际上有很多设计、开发都与反射机制有关,例如模块化的开发,通过反射去调用对应的字节码;动...

    2024-01-30 22:34:17
  • kali中的一些工具简单使用dirb、netdiscover、ffuf、nmap、sqlmap、hydra、msfconsole

    kali中的一些工具简单使用dirb、netdiscover、ffuf、nmap、sqlmap、hydra、msfconsole

    Netdiscover是一种网络扫描工具,通过ARP扫描发现活动主机,可以通过主动和被动两种模式进行ARP扫描。它主要为那些没有dhcp服务器的无线网络开发,当您进行Wardriving时。它也可以用...

    2024-01-30 22:34:10
  • c++ for语句 for循环

    c++ for语句 for循环

    for语句 for语句或者是for循环是最常见的也是复杂的一种循环。 在熟练掌握其语法后,对于一般类似与打印1到N的数字的程序我们都可以快速的写出。 for 语句的基本用法 #include usin...

    2024-01-30 22:33:41
  • HAWQ技术解析(四) —— 启动停止

    HAWQ技术解析(四) —— 启动停止

    前面已经完成了HAWQ的安装部署,也了解了HAWQ的系统架构与主要组件,下面开始使用它。HAWQ作为Hadoop上的一个服务提供给用户,与其它所有服务一样,最基本的操作就是启动、停止、重启服务。要完成...

    2024-01-30 22:33:32
  • CentOS8安装部署cobbler

    CentOS8安装部署cobbler

    CentOS8安装部署cobller 手动安装与自动安装

    2024-01-30 22:33:22
  • linux openssl简单的介绍与实例讲解

    OpenSSL简介SSL是Secure Socket Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准,目前已有3.0版本。SSL采用公开密钥技术。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。目前,利用公开密钥技术的SSL协议,已成为Inter...

    2024-01-30 22:32:52
  • 搭建自己的 new bing网站----nginx反代(群晖,全docker版)

    搭建自己的 new bing网站----nginx反代(群晖,全docker版)

    本篇教程全萌新向,即便新手也可以看懂演示效果如图。本篇文章以nginx反代为题带来一次new bing 的反代实践,可以搭建在自己的服务器上自用,使用起来更方便一点。go-proxy-bing bin...

    2024-01-30 22:32:45