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 }