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.
思路:判断两棵树是否相同,很简单,两两比较即可。代码如下:
/**
* 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)
return false;
//如果值不相等,也肯定不相等
if(p.val != q.val)
return false;
//返回左子树和右子树的结果
return isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);
}
}