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

举个例子,如上图所示,给定一棵叶值序列为 (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], root2 = [1]
输出:true

示例 3:

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

示例 4:

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

示例 5:

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

提示:

给定的两棵树可能会有 1 到 200 个结点。
给定的两棵树上的值介于 0 到 200 之间。

代码如下:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {public:bool leafSimilar(TreeNode* root1, TreeNode* root2) {vector<int>l1;vector<int>l2;dfs(root1,l1);dfs(root2,l2);return l1==l2;}void dfs(TreeNode *root,vector<int>&v){if (root==nullptr) return ;if (root->left==nullptr && root->right==nullptr) v.push_back(root->val);dfs(root->left,v);dfs(root->right,v);}
};

LeetCode 872叶子相似的树-简单相关推荐

  1. [leetcode] 872. 叶子相似的树(周赛)

    872. 叶子相似的树 前序遍历,记录叶子节点即可 class Solution {private static String ans = "";public boolean le ...

  2. leetcode 872. 叶子相似的树(dfs)

    请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 . 举个例子,如上图所示,给定一棵叶值序列为 (6, 7, 4, 9, 8) 的树. 如果有两棵二叉树的叶值序列是相同 ...

  3. 872.叶子相似的树

    请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 . 举个例子,如上图所示,给定一颗叶值序列为 (6, 7, 4, 9, 8) 的树. 如果有两颗二叉树的叶值序列是相同 ...

  4. 872. 叶子相似的树

    请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 . 举个例子,如上图所示,给定一颗叶值序列为 (6, 7, 4, 9, 8) 的树. 如果有两颗二叉树的叶值序列是相同 ...

  5. 分门别类刷leetcode——高级数据结构(字典树,前缀树,trie树,并查集,线段树)

    目录 Trie树(字典树.前缀树)的基础知识 字典树的节点表示 字典树构造的例子 字典树的前序遍历 获取字典树中全部单词 字典树的整体功能 字典树的插入操作 字典树的搜索操作 字典树的前缀查询 字典树 ...

  6. 线段树简单入门 (含普通线段树, zkw线段树, 主席树)

    线段树简单入门 递归版线段树 线段树的定义 线段树, 顾名思义, 就是每个节点表示一个区间. 线段树通常维护一些区间的值, 例如区间和. 比如, 上图 \([2, 5]\) 区间的和, 为以下区间的和 ...

  7. Leetcode 208.实现 Trie (前缀树)(Implement Trie (Prefix Tree))

    Leetcode 208.实现 Trie (前缀树) 1 题目描述(Leetcode题目链接)   实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三 ...

  8. LeetCode(872)——叶子相似的树(JavaScript)

    请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 . 举个例子,如上图所示,给定一颗叶值序列为 (6, 7, 4, 9, 8) 的树. 如果有两颗二叉树的叶值序列是相同 ...

  9. 【Leetcode】100. 相同的树

    题目 给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 示例 1: 输入: 1 1/ \ / \2 3 2 3[1,2,3], [1 ...

最新文章

  1. SQL函数--- SQL FIRST()
  2. 全排列 (C语言实现)
  3. [C#学习笔记]C#中的decimal类型——《CLR via C#》
  4. 配置完centos 6以后,大概需要安装的软件(主要是yum)
  5. linux环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
  6. v8学习笔记(三) 运行时环境
  7. python基本语法:列表(列表和元组的区别)
  8. 周鸿祎谈李国庆夫妇互撕:大事男人说了算,小事才听女人的
  9. 【图像处理】MATLAB:直方图
  10. 面向对象——类设计(六)——算法类
  11. matlab生成网络流量,BP神经网络 预测网络流量
  12. 网站时间日期代码html,显示网站运行时间及当前时间的代码
  13. 算法导论(第三版)第一章习题答案
  14. WIN10为什么手机连接电脑开启热点后,电脑不能上网?
  15. 生成SGML格式,用于算BLEU,NIST,TER
  16. 嵩天老师python爬虫笔记整理week3
  17. 安卓应用发布在各大应用市场方法整理
  18. 睡后收入:小白的自动赚钱神器
  19. linux usleep函数 sleep,LINUX实操:date、sleep和usleep命令
  20. bp神经网络缺点及克服,bp神经网络存在的问题

热门文章

  1. 贪心算法之高级钟点秘书会议安排问题
  2. C语言之unsigned char和uint8_t
  3. (11)python里面while到底有多少知识点
  4. mysql命令去重_MySQL去重的方法整理
  5. pythonrequests说明_解决Python requests 报错方法集锦
  6. php fpm工作原理,什么是phpfpm的工作原理?
  7. tensorflow去掉某一维度_在Python中解压缩(取消堆栈)一个输入(占位符),在tensorflow中有一个None维度...
  8. IDEA简单配置教程
  9. 为什么越来越多的人消失在朋友圈?
  10. 撩妹学会这一招,就没有人能拒绝你!