[leetcode] 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.

https://oj.leetcode.com/problems/same-tree/

 

思路:递归判断,注意null的处理。

 

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

    }
}
View Code

 

 

第二遍记录:null check 可以简化

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

  

posted @ 2014-07-02 22:43  jdflyfly  阅读(134)  评论(0编辑  收藏  举报