public boolean isPalindrome(String s)
    {
        int b = 0, e = s.length()-1;
        while(b <= e)
        {
            char x = s.charAt(b);
            char y = s.charAt(e);
            if (isCharacter(x) && isCharacter(y) && !isSame(x,y))
                return false;
            else if (isCharacter(x) && isCharacter(y) && isSame(x,y))
            {
                ++b;
                --e;
            }
            else
            {
                if (!isCharacter(x))
                    ++b;
                if (!isCharacter(y))
                    --e;
            }
        }

        return true;
    }