Same Tree

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 binary tree
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(q==null&&p!=null){
           return false;
       }else if(p==null&&q!=null){
           return false;
       }//  if(p==null||q==null)    return p==q;
       
       if(!isSameTree(p.left,q.left)){
           return false;
       }
       if(q.val!=p.val){
           return false;
       }
       if(!isSameTree(p.right,q.right)){
           return false;
       }        
       return true;
   }
}

原文地址:https://www.cnblogs.com/gaoxiangde/p/4379899.html