题目链接

https://leetcode-cn.com/problems/leaf-similar-trees/description/

题目描述

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

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

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

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

提示:

  • 给定的两颗树可能会有 1 到 100 个结点。

题解

把每棵树的叶子节点存起来,在进行比较。

代码

/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public boolean leafSimilar(TreeNode root1, TreeNode root2) {
if ((root1 != null && root2 != null) || (root1 == null && root2 == null)) {
List<Integer> list1 = new ArrayList<>();
List<Integer> list2 = new ArrayList<>();
findLeaf(root1, list1);
findLeaf(root2, list2);
if (list1.size() != list2.size()) { return false; }
for (int i = 0; i < list1.size(); i++) {
if (list1.get(i) != list2.get(i)) { return false; }
}
return true;
}
return false;
}
public void findLeaf(TreeNode root, List<Integer> list) {
if (root == null) { return; }
if (root.left == null && root.right == null) { list.add(root.val); }
findLeaf(root.left, list);
findLeaf(root.right, list);
}
}

最新文章

  1. ASP.NET MVC动作过滤器
  2. vim74安装
  3. 初步搭建RocketMQ环境
  4. mvc 中的 [ChildActionOnly] 和 [NonAction]
  5. Windows Phone Studio-任何人都能开发Windows Phone App的在线工具
  6. jquery总结05-常用事件02-表单事件
  7. linux 查看所有用户
  8. 数论 : 模运算法则(poj 1152)
  9. android开发中系统自带语音模块的使用
  10. thinkPHP生成静态分页列表
  11. POJ3630Phone List(字典树)
  12. C#.Net 如何动态加载与卸载程序集(.dll或者.exe)2----通过应用程序域AppDomain加载和卸载程序集之后,如何再返回原来的主程序域
  13. php5.5新特性之yield理解
  14. 华为S5700基础配置----备份和恢复配置文件
  15. 10、Libgdx的内存管理
  16. Python生成PASCAL VOC格式的xml标注文件
  17. mmm和mmma的区别
  18. Oracle11g密码过期处理方法
  19. debian修改默认编辑器
  20. rubygems ruby国内源

热门文章

  1. Java继承改进
  2. Java爬虫初体验
  3. 常见SQL优化方法
  4. Vue打包后页面出现cannot get
  5. ArcGIS for Server新建站点异常,Failed to create the site.Failed to configure the server machine&#39;XXXX&#39;,Server machine&#39;XXXX&#39; is not a local server machine.
  6. 【转】如何在Git中撤销一切
  7. YII2 定义页面提示
  8. 【强力卸载】使用Uninstall Tool卸载各类不易卸载的软件
  9. IOS 获取文本焦点 主动召唤出键盘(becomeFirstResponder) and 失去焦点(退下键盘)
  10. Cesium专栏-测量工具测距、测面、测高(附源码下载)