100. 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
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        
        return helper(p, q);
    }
    
    
    private boolean helper(TreeNode p, TreeNode q){
        
        if(p==null && q==null)  return true;
        
        if(p==null || q==null)  return false;
        
        // check val
        if(p.val != q.val)  return false;
        
        return helper(p.left, q.left) && helper(p.right, q.right);
        
    }
}

 

posted @ 2013-09-21 12:35  LEDYC  阅读(118)  评论(0)    收藏  举报