码迷,mamicode.com
首页 > 编程语言 > 详细

Same Tree leetcode java

时间:2014-07-31 02:24:15      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   java   strong   io   cti   

题目

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     public boolean isSameTree(TreeNode p, TreeNode q) {
 2         if(p==null&&q==null)
 3             return true;
 4         
 5         if(p==null&&q!=null)
 6             return false;
 7         
 8         if(p!=null&&q==null)
 9             return false;
10             
11         if(p.val!=q.val)
12             return false;
13         boolean isleftsame = isSameTree(p.left,q.left);
14         if(!isleftsame)
15             return false;
16             
17         boolean isrightsame = isSameTree(p.right,q.right);
18         if(!isrightsame)
19             return false;
20         
21         return true;
22         
23     }

 对上述代码更简洁的写法是:

1     public boolean isSameTree(TreeNode p, TreeNode q) {
2         if(p == null&&q == null)
3             return true;
4         if(p == null||q == null)
5             return false;
6         return (p.val == q.val) && isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
7     }

 

Same Tree leetcode java,布布扣,bubuko.com

Same Tree leetcode java

标签:des   style   blog   color   java   strong   io   cti   

原文地址:http://www.cnblogs.com/springfor/p/3879575.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!