java 比較兩個二叉樹是否相等
阿新 • • 發佈:2019-01-10
題目:
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;
}
}