public boolean isSameTree(TreeNode p, TreeNode q) {
        if (p == null && q == null){
            return true;
        }
        else if (p == null || q == null){
            return false;
        }
        else {
            if (p.val == q.val){
                //nodes number are equal and left child is the same as right child 
                return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
            }
            else return false;
        }
    }