概述
给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写。
注意事项
你是否考虑过,字符串有可能是空字符串?这是面试过程中,面试官常常会问的问题。
在这个题目中,我们将空字符串判定为有效回文。
样例
"A man, a plan, a canal: Panama"
是一个回文。
"race a car"
不是一个回文。
#include <iostream>
using namespace std;
/*
给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写。
注意事项
1.你是否考虑过,字符串有可能是空字符串?这是面试过程中,面试官常常会问的问题。
2.在这个题目中,我们将空字符串判定为有效回文。
样例
"A man, a plan, a canal: Panama" 是一个回文。
"race a car" 不是一个回文。
*/
class Solution {
public:
bool check(char ch) {
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9'))
return false;
return true;
}
bool isPalindrome(string &s) {
if (s.empty())
return true;
int size = s.size();
int end = size - 1;
int begin = 0;
while (begin < end) {
while (end >= 0 && check(s[end])) {
--end;
}
while (begin < size && check(s[begin])) {
++begin;
}
if (tolower(s[end]) != tolower(s[begin]))
return false;
else
--end, ++begin;
}
return true;
}
};
int main() {
Solution solution;
string str = "A";
bool isMatch = solution.isPalindrome(str);
cout << "isMatch==" << isMatch << endl;
return 0;
}
转载于:https://www.cnblogs.com/kanekiken/p/7976837.html
最后
以上就是俭朴毛衣为你收集整理的415. 有效回文串的全部内容,希望文章能够帮你解决415. 有效回文串所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复