Same Tree

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.

思路:

递归

我的方法:

public class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        if(p == null && q == null)
            return true ;
        else if(p == null && q != null)
            return false ;
        else if(p != null && q == null)
            return false ;
        else
            return (p.val == q.val) && isSameTree(p.left, q.left) && isSameTree(p.right, q.right) ;
    }
}
View Code

别人方法:

public class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        if (p == null && q == null) return true;
        if (p == null || q == null || p.val != q.val) return false;
        return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
    }
}
View Code

public boolean sameTree(TreeNode one , TreeNode another){
if(null==one && null==another) return true;
if(null==one || null==another) return false;
return one.val==another.val && sameTree(one.left,another.left) && sameTree(one.right,another.right);
}

原文地址:https://www.cnblogs.com/sunshisonghit/p/4312657.html