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.

字符串为空时判断为回文,大小写不区分可确定相等,数字与字母不同。

 class Solution {
public:
bool isPalindrome(string s) {
int n=s.length();
if(n==) return true;
int i=,j=n-;
while(i<j){
if(!isCharacters(s[i])){
i++;
continue;
}
if(!isCharacters(s[j])){
j--;
continue;
} int left=,right=,leftsig=,rightsig=;
left=(s[i]>=''&&s[i]<='')?s[i]-'':((s[i]>='a'&&s[i]<='z')?s[i]-'a':s[i]-'A');
right=(s[j]>=''&&s[j]<='')?s[j]-'':((s[j]>='a'&&s[j]<='z')?s[j]-'a':s[j]-'A');
leftsig=(s[i]>=''&&s[i]<='')?:;
rightsig=(s[j]>=''&&s[j]<='')?:;
if(left!=right||leftsig!=rightsig)
return false;
i++;
j--;
}
return true;
}
bool isCharacters(char c){
if((c>='a'&&c<='z')||(c>='A'&&c<='Z')||(c>=''&&c<=''))
return true;
else
return false;
}
};

最新文章

  1. maven基础知识
  2. C#回顾 - 3.NET的IO:字节流
  3. UVA 439 Knight Moves --DFS or BFS
  4. HangOver
  5. php大力力 [024节]PHP中的字符串连接操作(2015-08-27)
  6. PHP几个几十个G大文件数据统计并且排序处理
  7. 打造自己的3D全景漫游
  8. amcharts 网页绘图插件
  9. HTTP断点续传(分块传输)(HTTP头格式非常清楚)
  10. 03-树2. Tree Traversals Again (25)
  11. codeforces 604B More Cowbell
  12. Git入门—创建项目
  13. phjp(ajax)作用知识点
  14. hdu-4856 Tunnels 状压DP
  15. HTML Viewer展示不同字体
  16. 团队作业——Alpha冲刺 6/12
  17. 关于sencha touch在华为、红米等部分手机下hide事件失效,msgbox无法关闭的解决方案(已更新最新解决方案)
  18. 百度地图API和高德地图API资料集锦
  19. 三种空格unicode(\u00A0,\u0020,\u3000)表示的区别
  20. Integer IntegerCache源码

热门文章

  1. HDU - 1705 Count the grid
  2. ckecked Exception和Unchecked Exception异常
  3. 换肤功能的实现以及监听storage实现多个标签页一起换肤
  4. 漫谈登录桩(MockStub)的实现
  5. ACM程序设计选修课——1040: Alex and Asd fight for two pieces of cake(YY+GCD)
  6. 学习javascript设计模式之装饰者模式
  7. vue.js源码学习分享(三)
  8. 标准C程序设计七---50
  9. bq25896 charging status CHRG_STAT register 0xB
  10. React项目的打包与部署到腾讯云