[LeetCode] Valid Palindrome

bool isPalindrome(string s) {
	int left = 0, right = s.length()-1;
	while (left <= right)
	{
		char leftChar = s[left];
		if (!((leftChar >= '0' && leftChar <= '9')||(leftChar >= 'a' && leftChar <= 'z')||(leftChar >= 'A' && leftChar <= 'Z')))
		{
			left++;
			continue;
		}
		char rightChar = s[right];
		if (!((rightChar >= '0' && rightChar <= '9')||(rightChar >= 'a' && rightChar <= 'z')||(rightChar >= 'A' && rightChar <= 'Z')))
		{
			right--;
			continue;
		}
		int differ = abs(int(leftChar - rightChar));
		if (differ == 0 || differ == 32)
		{
			left++;
			right--;
		}
		else
		{
			return false;
		}
	}
	return true;
}

你可能感兴趣的:(LeetCode,刷题)