欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Leetcode每日一题:125.valid-palindrome(验证回文串)

程序员文章站 2022-07-13 08:38:24
...

Leetcode每日一题:125.valid-palindrome(验证回文串)
思路:这一题常规的想法是开辟一个新的字符串ss,然后遍历s时,把字母或者数字放入ss,然后对ss进行判断;但实际上ss这个数组没必要开,因为s有效的部分必小于等于s的长度,所以直接对s进行处理就行;
Leetcode每日一题:125.valid-palindrome(验证回文串)


bool isOk(char c)
{
	if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9'))
	{
		return true;
	}
	return false;
}

bool isPalindrome(string s)
{
	int len = s.size();
	int index = 0;
	for (int i = 0; i < len; i++)
	{
		//非字母 舍去
		if (!isOk(s[i]))
		{
			continue;
		}
		//大写字母转换为小写字母
		if (s[i] >= 'A' && s[i] <= 'Z')
			s[i] += 32;

		s[index++] = s[i];
	}

	for (int i = 0; i < index / 2; i++)
	{
		if (s[i] != s[index - 1 - i])
			return false;
	}
	return true;
}


相关标签: Leetcode