Identical Binary Tree

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.

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

are identical.

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

are not identical.

 1 /**
 2  * Definition of TreeNode:
 3  * public class TreeNode {
 4  *     public int val;
 5  *     public TreeNode left, right;
 6  *     public TreeNode(int val) {
 7  *         this.val = val;
 8  *         this.left = this.right = null;
 9  *     }
10  * }
11  */
12 public class Solution {
13     /**
14      * @param a, b, the root of binary trees.
15      * @return true if they are identical, or false.
16      */
17     public boolean isIdentical(TreeNode a, TreeNode b) {
18         if (a == null && b == null) return true;
19         if (a == null || b == null) return false;
20         
21         if (a.val != b.val) return false;
22         
23         return isIdentical(a.left, b.left) && isIdentical(a.right, b.right);
24     }
25 }

 

posted @ 2016-07-12 07:23  北叶青藤  阅读(249)  评论(0编辑  收藏  举报