当前位置: 首页 > article >正文

LeetCode 872.叶子相似的树

题目

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

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

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

思路:在深度优先搜索的过程中,我们总是先搜索当前节点的左子节点,再搜索当前节点的右子节点。如果我们搜索到一个叶节点,就将它的值放入序列中。

代码

/**
 * 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) {
        List<Integer> seq1 = new ArrayList<>();
        if (root1 != null)
            dfs(seq1, root1);
        List<Integer> seq2 = new ArrayList<>();
        if (root2 != null)
            dfs(seq2, root2);
        return seq1.equals(seq2);
    }
    private void dfs(List<Integer> seq, TreeNode root) {
        if (root.left == null && root.right == null) {
            seq.add(root.val);
        } else {
            if (root.left != null)
                dfs(seq, root.left);
            if (root.right != null)
                dfs(seq, root.right);
        }
    }
}

性能


http://www.kler.cn/a/410796.html

相关文章:

  • 加菲工具 - 好用免费的在线工具集合
  • 前后端分离,解决vue+axios跨域和proxyTable不生效等问题
  • Excel如何批量导入图片
  • 函数类型注释和Union联合类型注释
  • 互联网直播/点播EasyDSS视频推拉流平台视频点播有哪些技术特点?
  • 【linux学习指南】初识Linux进程信号与使用
  • DevExpress WinForms中文教程:Data Grid - 使用服务器模式的大数据源和即时反馈?
  • 在线课程管理:SpringBoot技术的应用
  • wordpress获取文章总数、分类总数、tag总数等
  • 解决 Android 单元测试 No tests found for given includes:
  • 【运维】 使用 shell 脚本实现类似 jumpserver 效果实现远程登录linux 服务器
  • Android数据存储——文件存储、SharedPreferences、SQLite、Litepal
  • sklearn学习
  • Golang 调用 mongodb 的函数
  • C++定义函数指针变量作为形参
  • JS的DOM操作和事件监听综合练习 (具备三种功能的轮播图案例)
  • 【MySQL】MySQL从入门到放弃
  • 一款开源在线项目任务管理工具
  • 后端并发编程操作简述 Java高并发程序设计 六类并发容器 七种线程池 四种阻塞队列
  • DM8 Docker环境部署
  • 贪心算法-区间问题 C++
  • 2025职业院校技能大赛信息安全管理与评估(河北省) 任务书
  • 即时通讯服务器被ddos攻击了怎么办?
  • php操作redis
  • 在线客服系统的设计与实现(SpringBoot JPA freemarker MYSQL)
  • L14.【LeetCode笔记】返回倒数第k个节点