Leetoce--572. 另一个树的子树(java)

给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。

示例 1:
给定的树 s:

     3
    / \
   4   5
  / \
 1   2
给定的树 t:

   4 
  / \
 1   2
返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点值。

示例 2:
给定的树 s:

     3
    / \
   4   5
  / \
 1   2
    /
   0
给定的树 t:

   4
  / \
 1   2
返回 false。

代码:

/**

 * Definition for a binary tree node.

 * public class TreeNode {

 *     int val;

 *     TreeNode left;

 *     TreeNode right;

 *     TreeNode(int x) { val = x; }

 * }

 */

class Solution {

    public boolean isSubtree(TreeNode s, TreeNode t) {

        if(s==null) return false;

        return helper(s,t)||isSubtree(s.left,t)||isSubtree(s.right,t);

    }

    public boolean helper(TreeNode s,TreeNode t){

        if(s==null&&t==null){

            return true;

        }

        if(s==null||t==null){

            return false;

        }

        if(s.val!=t.val){

            return false;

        }

        return helper(s.left,t.left)&&helper(s.right,t.right);

    }

}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 安装Python37

1、下载python3.7.0 https://www.python.org/downloads/release/python-370/ 2、创建Linux的python37目录 mkdir /usr/local/python37 3、解压python3.7.0源码 tar zxvf python3.7.0.tar.zg 4、配置编译参数 ./configure --prefix/usr/local/python37 5、make 6、make install …

无脑人:我们真的需要大脑吗?

© Mental Floss来源:神经科技编辑:Yezi审阅:mingzlee7在一次讨论中,有位德高望重的人(我不会透露这个人是谁)告诉我:“我认为自我存在于心脏!而不是大脑!那些声称意…

get和post的联系与区别

get和post是什么?HTTP协议中的两种发送请求的方法。 那么他们有什么区别呢? 在web开发时,我们可以很直观的看到他们的区别: 1.get将参数放入URL中,而post则通过request body传递参数 2.get比post更不安全&#xff…

JS数组的需要注意的问题

一、在js中数组是我们经常使用的数据类型,也为我们提供了很多方法。但是有些方法需要注意使用: 1、indexOf(args):匹配一个数组中与args相等的项的索引位置,如果该数组包含这个匹配项则返回第一个匹配的索引,并停止匹配…

基金委最新改革:9大科学部整合为4个板块资助布局

来源:微信公众号科学网(sciencenet-cas)3月24日,国家自然科学基金委员会(以下简称自然科学基金委)第八届委员会第四次全体会议在北京召开。会议上,自然科学基金委主任、党组书记李静海作全委会工…

Leetcode--236. 二叉树的最近公共祖先(Java)

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的…

万恶之源 - Python运算符与编码

格式化输出 现在有个需要我们录入我们身边好友的信息,格式如下: ------------ info of Alex Li ----------Name : Alex LiAge : 22job : Teacher Hobbie: girl------------- end ---------------- 我们现在能想到的办法就是用一下方法: name input(请输入姓名:) age …

Leetcode--105. 从前序与中序遍历序列构造二叉树(Java)

根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder [3,9,20,15,7] 中序遍历 inorder [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7 代码: /**…

世界最大、最复杂的GPU!这颗集成1000亿个晶体管的芯片长什么样?

来源:EETOP3月25日消息 英特尔于昨日举办了直播活动,新上任的 CEO 帕特基辛格(Pat Gelsinger) 发表了演讲,并展示了采用 7nm 工艺的 Xe-HPC 高性能 GPU,代号 “Ponte Vecchio”。这款产品封装了 47 个芯片&…

携带cookie进行数据请求

前端进行数据请求有:普通的ajax(json)请求,jsop跨域请求,cors跨域请求,fetch请求...PC端这些请求方式中,普通的ajax(json)请求和jsop跨域请求是默认携带cookie的,而cors跨域请求和fetch请求默认是不携带coo…

Leetcode--145. 二叉树的后序遍历(迭代递归)

给定一个二叉树,返回它的 后序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 代码: 迭代: 从根节点开始依次迭代,弹出栈顶元素输出到输出列表中,然后依次压入它的所有孩子节…

Lucene全文检索

目录结构: 1.全文检索 2.Lucene入门 3.Lucene进阶 全文检索 一, 生活中的搜索: 1.Windows系统中的有搜索功能:打开“我的电脑”,按“F3”就可以使用查找的功能,查找指定的文件或文件夹。搜索的范围是整个电脑中的文件资源。 2.Eclipse中的帮助…

区块链架构下 智慧城市发展加速

来源:中国经济时报智慧城市与区块链技术结合愈加紧密在城市建设和管理上,越来越多的城市开始尝试推动区块链技术在智慧城市项目中应用。中国有杭州聚能城、雄安新区;韩国有“区块链首尔城”;瑞士有“加密谷”楚格;爱沙尼亚和圣马力诺等国家也在纷纷构筑自…

Leetcode--94. 二叉树的中序遍历(迭代递归)

给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 代码: 迭代: /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left;…

HDU-1003 Max Sum(动态规划)

题目回顾(HDU-1003): Max Sum Problem DescriptionGiven a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 (-1) 5 …

揭秘人工智能背后鲜为人知的人工力量——数据标注

来源:帮尼资讯部分参考来源:大数据文摘、点宽DigQuant图片来源:网络尽管随着AI的普及,我们在生活中越来越依赖于人工智能,但“人工智障”的相关调侃也从来没有消失过。相信大家都知道,如果我们想要让AI准确…

Leetcode--144. 二叉树的前序遍历(迭代递归)

给定一个二叉树,返回它的 前序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 代码: 迭代: /** * Definition for a binary …

诺贝尔奖也难以衡量其贡献,杨振宁的杨-米尔斯理论到底多厉害?

来源:宇宙时空杨振宁先生的贡献,宇称不守恒,打破了诺贝尔奖颁奖的时间记录,比爱因斯坦快了整整16年。可是,跟杨-米尔斯理论相比,它简直不值一提。如果把人类的科学发展比作一场大型的通关游戏现场&#xff…

Leetcode--1019. 链表中的下一个更大节点(java)

给出一个以头节点 head 作为第一个节点的链表。链表中的节点分别编号为:node_1, node_2, node_3, ... 。 每个节点都可能有下一个更大值(next larger value):对于 node_i,如果其 next_larger(node_i) 是 node_j.val&a…

美国科研欲重回阿波罗登月水平,基础科学投入计划翻倍

来源:机器之心编辑:泽南、小舟在与中国的全面竞争中,美国希望能在基础科学领域里保持领先,对此其不惜准备将经费投入重新提高到 20 世纪 60 年代「阿波罗登月计划」时期的最高水平。美国众议院科学委员会希望在未来五年内将国家科…