LeetCode (65):Same tree
2024-09-28 22:16:39
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.
首先想到的是递归法,判断过程为依次遍历每一个点如果有:
- 如果都为null或是都不为null且值相等返回true
- 一个为Null另一个不为Null返回false
- 两个都不为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));
} }
最新文章
- 阿里技术协会好文推荐:Android绘制流程http://click.aliyun.com/m/8719/
- Erlang 虚拟机内的内存管理(Lukas Larsson演讲听写稿)
- TypeScript Type Compatibility(类型兼容)
- 子进程 已安装 pre-removal 脚本 返回了错误号 1或2 与 子进程 已安装 post-installation 脚本 返回了错误号 1或2
- 每天一个linux命令--more/less
- 三天没有写题了,罪过!--Hash Table Start
- [ActionScript 3.0] AS3中的位图(BitmapData)应用
- 用python实现两个文本合并
- jdk8新特性之lambda expressions
- 非常可乐(bfs)
- 邮件应用Acompli和日历应用Sunrise(传微软曾考虑以80亿美元收购企业通讯公司Slack)
- mysql多表链接查询
- 数据访问(DAO)
- file 自定义上传附件并展示缩略图
- jquery 计算两个日期相差的天数
- Struts2 <;s:select >;标签的使用
- 一个linux内核编译时遇到的perl语法导致的编译问题解决
- 39.css3----button按钮点击时出现蓝色边框
- Debug的使用
- [转载]tornado.database添加PooledDB连接池功能
热门文章
- Spring的Bean的生命周期以及Bean的后置处理器
- Hibernate的大对象映射
- Spring 拦截器的使用
- green rgb(255, 102, 0) #FF6600
- 设计模式之&mdash;&mdash;Builder建造模式
- svn搭建(linux下)
- 给input文本框添加灰色提示文字,三种方法.
- Android Studio升级后报 method not found: &#39;runProguard&#39;的错误
- iOS开发debug集锦
- 漫谈DOM 事件流的三个阶段