100. Same Tree
来源:互联网 发布:全文翻译的软件 编辑:程序博客网 时间:2024/06/13 05:40
迭代方法:
public class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {Stack<TreeNode> stackp=new Stack<>();
Stack<TreeNode> stackq=new Stack<>();
if((p==null)^(q==null)){ //判断方法
return false;
}
if(p!=null)
stackp.push(p);
if(q!=null)
stackq.push(q);
TreeNode pp=null;
TreeNode qq=null;
while(!stackp.isEmpty()&!stackq.isEmpty()){
pp=stackp.pop();
qq=stackq.pop();
if(pp.val!=qq.val){
return false;
}
if(((pp.left==null)^(qq.left==null))||((pp.right==null)^(qq.right==null))){
return false;
}
if(pp.left!=null)
stackp.push(pp.left);
if(pp.right!=null)
stackp.push(pp.right);
if(qq.left!=null)
stackq.push(qq.left);
if(qq.right!=null)
stackq.push(qq.right);
}
return true;
}
}
递归方法:
public class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
if((p==null)&&(q==null)){
return true;
}
if((p==null)^(q==null)){
return false;
}
if(p.val!=q.val) return false;
return isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);
}
}
递归写起来简洁太多了,但总要磕磕碰碰才能写对。。。。
0 0
- [LeetCode]100.Same Tree
- LeetCode 100. Same Tree
- 100.Same Tree
- 【LeetCode】100.Same Tree
- [Leetcode] 100. Same Tree
- [Leetcode] 100. Same Tree
- LeetCode --- 100. Same Tree
- LeetCode 100. Same Tree
- [leetcode] 100.Same Tree
- 100.Same Tree
- 100. Same Tree
- 100.Same Tree
- 100. Same Tree
- 100. Same Tree
- 100. Same Tree
- leetCode 100. Same Tree
- 100. Same Tree
- [LeetCode]100. Same Tree
- 简单的linux命令
- 在windows端建立本地node-gulp环境进行前端开发
- 怎么理解st_thread库(3)
- Redis主从配置和HA配置
- leetCode练习(50)
- 100. Same Tree
- C语言知识点完美总结
- 2016 Android注释技巧 Android Studio
- sqlite 数据过多,搜索结果慢,增加索引是个不错的方案
- linux 内核移植和根文件系统的制作
- 支付宝异步通知(notify_url)与return_url.
- iOS开发-获取网络流量
- (4.1.43.2)design support library:Snackbar
- nginx location配置总结