Total Accepted: 83663 Total Submissions: 200541 Difficulty: Easy

Given two binary trees, write a function to check if they are equal or not.

Two binary trees are considered equal if they are structurally identical and the nodes have the same value.

首先想到的是递归法,判断过程为依次遍历每一个点如果有:

  1. 如果都为null或是都不为null且值相等返回true
  2. 一个为Null另一个不为Null返回false
  3. 两个都不为null但值不相等返回false

代码如下:

class TreeNode{
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public class Solution {
public static boolean isSameTree(TreeNode p, TreeNode q) {
if(p==null&&q==null) return true; //同时到达叶子节点
else if(p==null||q==null) return false; //不同时到达叶子则不相同
if(p.val!=q.val) return false; //节点值不同则不相同
else return isSameTree(p.left, q.left)&&isSameTree(p.right, q.right); //递归 }
//测试
public static void main(String[] args) {
// TODO Auto-generated method stub
TreeNode t1=new TreeNode(1);
TreeNode nodeB=new TreeNode(2);
t1.left=nodeB; TreeNode t2=new TreeNode(1);
TreeNode nodeB1=new TreeNode(2);
t2.left=nodeB1;
System.out.println(isSameTree(t1,t2));
} }

最新文章

  1. 阿里技术协会好文推荐:Android绘制流程http://click.aliyun.com/m/8719/
  2. Erlang 虚拟机内的内存管理(Lukas Larsson演讲听写稿)
  3. TypeScript Type Compatibility(类型兼容)
  4. 子进程 已安装 pre-removal 脚本 返回了错误号 1或2 与 子进程 已安装 post-installation 脚本 返回了错误号 1或2
  5. 每天一个linux命令--more/less
  6. 三天没有写题了,罪过!--Hash Table Start
  7. [ActionScript 3.0] AS3中的位图(BitmapData)应用
  8. 用python实现两个文本合并
  9. jdk8新特性之lambda expressions
  10. 非常可乐(bfs)
  11. 邮件应用Acompli和日历应用Sunrise(传微软曾考虑以80亿美元收购企业通讯公司Slack)
  12. mysql多表链接查询
  13. 数据访问(DAO)
  14. file 自定义上传附件并展示缩略图
  15. jquery 计算两个日期相差的天数
  16. Struts2 <s:select >标签的使用
  17. 一个linux内核编译时遇到的perl语法导致的编译问题解决
  18. 39.css3----button按钮点击时出现蓝色边框
  19. Debug的使用
  20. [转载]tornado.database添加PooledDB连接池功能

热门文章

  1. Spring的Bean的生命周期以及Bean的后置处理器
  2. Hibernate的大对象映射
  3. Spring 拦截器的使用
  4. green rgb(255, 102, 0) #FF6600
  5. 设计模式之——Builder建造模式
  6. svn搭建(linux下)
  7. 给input文本框添加灰色提示文字,三种方法.
  8. Android Studio升级后报 method not found: 'runProguard'的错误
  9. iOS开发debug集锦
  10. 漫谈DOM 事件流的三个阶段