public boolean isSameTree(TreeNode p, TreeNode q) {
		
		if (p == null && q == null) return true;
		else if (p == null || q == null) return false;
		/* the above two statements can be simplified as
		 * if (p==null || q==null) return (p.val == q.val)
		 */
		
		else return (p.val == q.val) && isSameTree(p.left, q.left) && isSameTree(p.right, q.right); 
	}