题意:

给一个字符串,只判断数字和字母,且不区分大小写,其他忽略,判断是否回文。

思路:

ps:这是我们今年复试上机题,我写的程序这里能跑过,复试的时候没给我满分。。。残念。

bool isPalindrome(string s) {
	if (s.empty())
		return true;
	string a = "";
	for_each(s.begin(), s.end(), [&](char &c) {
		if (c >= 'a'&&c <= 'z' || c >= '0'&&c <= '9')
			a += c;
		else if (c >= 'A'&&c <= 'Z')
			a += c - 'A' + 'a';
	});
	int sz = a.size();
	for (int i = 0; i < sz / 2; ++i)
		if (a[i] != a[sz - i - 1])
			return false;
	return true;
}