Same Tree 07/27

Check if two binary trees are identical. Identical means the two binary trees have the same structure and every identical position has the same value.Have you met this question in a real interview? Yes

Example

    1             1
   / \           / \
  2   2   and   2   2
 /             /
4             4

are identical.

    1             1
   / \           / \
  2   3   and   2   3
 /               \
4                 4

are not identical.

/**
 * Definition of TreeNode:
 * public class TreeNode {
 *     public int val;
 *     public TreeNode left, right;
 *     public TreeNode(int val) {
 *         this.val = val;
 *         this.left = this.right = null;
 *     }
 * }
 */

public class Solution {
    /**
     * @param a: the root of binary tree a.
     * @param b: the root of binary tree b.
     * @return: true if they are identical, or false.
     */
    public boolean isIdentical(TreeNode a, TreeNode b) {
        // write your code here
        
        if( a == null && b == null){
            return true;
        }
        
        if(a ==null ^ b == null){
            return false;
            
        }
        
        if(a.val != b.val){
            return false;
        }
        
        boolean left = isIdentical(a.left,b.left);
        boolean right = isIdentical(a.right,b.right);
        
        return left && right;
    }
}

Last updated