解題思路
先把原始字串轉換成處理過後的,然後判斷回文。
小心除了小寫字母外,數字也要算進去。
程式碼
class Solution {
public:
bool isPalindrome(string s) {
string newS = "";
for(int i=0; i<s.size(); i++)
{
if('A' <= s[i] && s[i] <= 'Z')
newS += s[i] - 'A' + 'a';
else if('0' <= s[i] && s[i] <= '9')
newS += s[i];
else if('a' <= s[i] && s[i] <='z')
newS += s[i];
}
int front = 0, back = newS.size() - 1;
while(front < back)
{
if(newS[front] != newS[back])
return false;
front++;
back--;
}
return true;
}
};
沒有留言:
張貼留言