解題思路
先把原始字串轉換成處理過後的,然後判斷回文。
小心除了小寫字母外,數字也要算進去。
程式碼
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; } };
沒有留言:
張貼留言