[LeetCode]--100. Same Tree
来源:互联网 发布:中国软件行业协会会费 编辑:程序博客网 时间:2024/05/19 22:47
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.
public boolean isSameTree(TreeNode p, TreeNode q) { if (p == null && q == null) return true; if ((p == null && q != null) || (p != null && q == null)) { System.out.println(2); return false; } if ((p.left != null && q.left == null) || (p.left == null && q.left != null) || (p.right == null && q.right != null) || (p.right != null && q.right == null)) { System.out.println(1); return false; } if (p.val != q.val) return false; return isSameTree(p.left, q.left) && isSameTree(p.right, q.right); }
通过了,但是我在想子树的判断对不对,其实中间那一段代码时可以不要的,因为递归循环到子树的时候(p == null && q != null) || (p != null && q == null)这个判断已经包含了左子树和右子树的判断。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if (p == null && q == null) return true; if ((p == null && q != null) || (p != null && q == null)) return false; if (p.val != q.val) return false; return isSameTree(p.left, q.left) && isSameTree(p.right, q.right); }}
再推荐一种简单的写法,不过我觉得容易混淆。
public boolean isSameTree1(TreeNode p, TreeNode q) { return (p == null && q == null) || ((p != null && q != null && p.val == q.val) && (isSameTree1( p.left, q.left) && isSameTree(p.right, q.right))); }
0 0
- [LeetCode]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
- [leetcode] 100.Same Tree
- leetCode 100. Same Tree
- [LeetCode]100. Same Tree
- 100. Same Tree LeetCode
- LeetCode 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
- Spring事务属性
- 【english】it is a new begin
- 2016年10月4日08:17:29
- ubuntu 14.04解决视频播放的问题
- 将 instance 连接到 vlan100- 每天5分钟玩转 OpenStack(95)
- [LeetCode]--100. Same Tree
- linux下下载的zip文件解压之后中文文件名乱码
- 单调队列与单调栈总结
- MYSQL基础(结束啦~)
- Android hdpi ldpi mdpi xhdpi xxhdpi适配详解
- Codeforces Round #375 (Div. 2)
- Struts2框架进阶(七)
- CSDN-markdown编辑器语法
- html 标签的一些用法注意事项