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.
Have you been asked this question in an interview?
主要要考虑的corner case : 一个为null, 另外一个不为
/**
* Definition for binary tree
* 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 (isSameTree(p.left, q.left) && (isSameTree(p.right, q.right)));
} else {
return false;
}
}
}