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.
Subscribe to see which companies asked this question
思考:遍历两个树的过程中比较,注意递归的出口和递归的时机。
/**
* 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;
}else if(p != null && q != null){
boolean ret = false;
if(p.val == q.val){
ret = true;
}else{
return false;
}
ret = isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
return ret;
}else{
return false;
}
}
}