您的位置:首页 > 编程语言 > Java开发

java 比较两个二叉树是否相等

2016-03-16 11:50 513 查看
题目:

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)||(p!=null&&q==null)){
return false;
}
if(p!=null&&q!=null){
if(!(p.val==q.val)){
return false;
}
}
if(p==null&&q==null){

}else{
if(!isSameTree(p.left,q.left)){
return false;
}
if(!isSameTree(p.right,q.right)){
return false;
}
}

return true;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: