首页 > 其他分享 >叶子相似的树

叶子相似的树

时间:2023-06-16 18:55:12浏览次数:32  
标签:right TreeNode val 叶子 相似 null root left

请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。

举个例子,如上图所示,给定一棵叶值序列为 (6, 7, 4, 9, 8) 的树。

如果有两棵二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。

如果给定的两个根结点分别为 root1 和 root2 的树是叶相似的,则返回 true;否则返回 false 。

示例 1:

输入:root1 = [3,5,1,6,2,9,8,null,null,7,4], root2 = [3,5,1,6,7,4,2,null,null,null,null,null,null,9,8]
输出:true
示例 2:

输入:root1 = [1,2,3], root2 = [1,3,2]
输出:false

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/leaf-similar-trees
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public boolean leafSimilar(TreeNode root1, TreeNode root2) {
        //分别记录两个根数的叶子
        ArrayList<Integer> list1 = new ArrayList<>();
        ArrayList<Integer> list2 = new ArrayList<>();
        //递归方法遍历树
        recursionRoot(root1,list1);
        recursionRoot(root2,list2);
        return list1.equals(list2);
    }
    public void recursionRoot(TreeNode root , ArrayList list){
        //遍历的节点不存在
        if(root==null)return;
        if(root.left==null&root.right==null){
            list.add(root.val);
            return;
        }
        recursionRoot(root.left,list);
        recursionRoot(root.right,list);
    }


}

标签:right,TreeNode,val,叶子,相似,null,root,left
From: https://www.cnblogs.com/xiaochaofang/p/17486332.html

相关文章

  • 如何度量两幅图像的相似度--结构相似度 SSIM 原理及代码
    本文目录文章目录1.什么是SSIM2.SSIM有什么用3.使用pytorch计算SSIM3.1二维图像SSIM计算3.1.1准备工作3.1.2官网的第一个案例3.1.3官网的第二个案例3.2在图片上写字,并制作GIF3.2.1使用Python在图片上写字3.2.2制作GIF3.33D图像的SSIM计算和loss1.什么是S......
  • Loj #6041. 「雅礼集训 2017 Day7」事情的相似度
    做到这题,发现自己对\(SAM\)的一些性质还不知道,特此记录。题目要求01字符串区间内前缀的最长公共后缀由SAMparenttree性质可知,2个前缀的最长公共后缀就是它们在parenttree上lca的len值如何去感性理解我们知道,在parenttree上每个节点都代表了一个endpos等价类,由后缀链接将他......
  • 余弦相似熵,多尺度余弦相似熵,层次余弦相似熵,时移多尺度余弦相似熵,复合多尺度余弦相似熵
     余弦相似熵(CosineSimilarityEntropy),多尺度余弦相似熵(MultiscaleCosineSimilarityEntropy),复合多尺度余弦相似熵(compositemultiscaleCosineSimilarityentropy),精细复合多尺度余弦相似熵(refinedcompositemultiscaleCosineSimilarityentropy),时移多尺度余弦相似熵......
  • 代码随想录算法训练营第十七天|● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404
    110.平衡二叉树力扣题目链接(opensnewwindow)给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:给定二叉树[3,9,20,null,null,15,7]返回true。示例2:给定二叉树[1,2,2,3,3,nu......
  • 【蓝桥杯集训·每日一题】AcWing 1079. 叶子的颜色
    写在前面本人CSDN博客主页:这里一、题目1、原题链接1079.叶子的颜色2、题目描述给一棵有m个节点的无根树,你可以选择一个度数大于1的节点作为根,然后给一些节点(根、内部节点、叶子均可)着以黑色或白色。你的着色方案应保证根节点到各叶子节点的简单路径上都至少包含一个有色节点,哪......
  • 【一步步开发AI运动小程序】十、姿态动作相似度比较
    随着人工智能技术的不断发展,阿里体育等IT大厂,推出的“乐动力”、“天天跳绳”AI运动APP,让云上运动会、线上运动会、健身打卡、AI体育指导等概念空前火热。那么,能否将这些在APP成功应用的场景搬上小程序,分享这些概念的红利呢?本系列文章就带您一步一步从零开始开发一个AI运动小程序......
  • 集合相似度
    集合相似度给定两个整数集合,它们的相似度定义为:Nc/Nt×100%。其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。输入格式:输入第一行给出一个正整数N(≤50),是集合的个数。随后N行,每行对应一个集......
  • 7-10 集合相似度 (25分)
    超时代码////CreatedbyHMNon2020/1/27.///*7-10集合相似度(25分)给定两个整数集合,它们的相似度定义为:Nc/Nt×100%。其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。输入格式:......
  • 基于词频的文件相似度 (30分)
    实现一种简单原始的文件相似度计算,即以两文件的公共词汇占总词汇的比例来定义相似度。为简化问题,这里不考虑中文(因为分词太难了),只考虑长度不小于3、且不超过10的英文单词,长度超过10的只考虑前10个字母。输入格式:输入首先给出正整数N(≤100),为文件总数。随后按以下格式给出每个文件......
  • 代码随想录算法训练营第17天 | ● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404
     第六章二叉树part04 今日内容:  ●  110.平衡二叉树 ●  257. 二叉树的所有路径 ●  404.左叶子之和   详细布置  迭代法,大家可以直接过,二刷有精力的时候 再去掌握迭代法。  110.平衡二叉树 (优先掌握递归) 再一次涉及到,什么是高度,什么是......