给定一个字符串, 验证它是否是回文串, 只考虑字母和数字字符, 可以忽略字母的大小写.
说明: 本题中, 我们将空字符串定义为有效的回文串.
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
输出: false
题目已经做过, 这里只是重新使用 C++ 编写代码. 较为简单, 不解答题目, 没有使用内置函数(因为不熟:《).
- class Solution {
- public:
- bool isPalindrome(string s) {
- string tmp;
- for(char c:s) {
- if ('a'<=c&&c<='z')
- tmp+=c;
- else if('A'<=c&&c<='Z')
- tmp+=(c-'A'+'a');
- else if ('0'<=c&&c<='9')
- tmp+=c;
- }
- string tmp2 = tmp;
- reverse(tmp.begin(),tmp.end());
- if (tmp == tmp2 )
- return true;
- else
- return false;
- }
- };
来源: http://www.bubuko.com/infodetail-3044773.html