https://leetcode.com/problems/valid-palindrome/
题目:
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,"A man, a plan, a canal: Panama"
is a palindrome."race a car"
is not a palindrome.
Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.
For the purpose of this problem, we define empty string as valid palindrome.
思路:
easy.
AC代码:
1 class Solution { 2 public: 3 bool isPalindrome(string s) { 4 int a=0,b=s.size()-1; 5 while(a<b){ 6 if(!((s[a]>='a'&&s[a]<='z')||(s[a]>='A'&&s[a]<='Z')||(s[a]>='0'&&s[a]<='9'))){ 7 a++; 8 continue; 9 } 10 if(!((s[b]>='a'&&s[b]<='z')||(s[b]>='A'&&s[b]<='Z')||(s[b]>='0'&&s[b]<='9'))){ 11 b--; 12 continue; 13 } 14 if((s[a]>='a'&&s[a]<='z')){ 15 if((s[a]!=s[b])&&(s[a]+'A'-'a'!=s[b])){ 16 return false; 17 } 18 } 19 else if((s[a]>='A'&&s[a]<='Z')){ 20 if((s[a]!=s[b])&&(s[a]!=s[b]+'A'-'a')){ 21 return false; 22 } 23 } 24 else{ 25 if(s[a]!=s[b]){ 26 return false; 27 } 28 } 29 a++; 30 b--; 31 } 32 return true; 33 } 34 };
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步