class Solution {
public:
/**
* @param s A string
* @return Whether the string is a valid palindrome
*/
bool isPalindrome(string& s) {
// Write your code here
int left = , right = s.length() - ;
while (left < right) {
while (left < right && !isdigit(s[left]) && !isLetter(s[left]))
left++;
if (left == right) break;
while (right > left && !isdigit(s[right]) && !isLetter(s[right]))
right--;
if (right == left) break;
if (!match(s[left++], s[right--])) return false;
}
return true;
}
private:
bool isLetter(char s) {
return (s >= 'A' && s <= 'Z') || (s >= 'a' && s <= 'z');
}
bool match(char s, char t) {
if (isLetter(s) && isLetter(t))
return (s == t) || (s - t == ) || (t - s == );
return s == t;
}
};

最新文章

  1. rsa互通密钥对生成及互通加解密(c#,java,php)
  2. HFS远程命令执行漏洞入侵抓鸡黑阔服务器
  3. C# WebService输出JSON 实现二
  4. 【摘】 pt-query-digest工具一解
  5. HibernateTemplate的一些常用方法总结
  6. ArcSoft&#39;s Office Rearrangement---hdu5933
  7. delphi使用 第三方控件
  8. 使用PDO执行SQL语句exec()、query()
  9. StackExchange.Redis 使用-同步 异步 即发即弃 (三)
  10. python将多个pdf合成一个
  11. centos vi设置tab为4个空格 和括号自动补全
  12. 二进制补码除法——计算机底层整数除法模拟之Java实现
  13. Percona Toolkit mysql辅助利器
  14. 5.2&amp;5.3
  15. poj 3009 冰球 【DFS】求最小步数
  16. PHP手册-函数参考-加密扩展
  17. AIX安装JDK1.7教程
  18. 取自ACE中的bit操作宏(转)
  19. 转:CentOS 6.x 挂载读写NTFS分区(fuse-ntfs-3g)
  20. windows7所有版本迅雷地址下载集合(含32位和64位) - imsoft.cnblogs

热门文章

  1. python基础篇---实战---用户登入注册程序
  2. MongoDB - Cursors
  3. mysql 添加缓存
  4. Exif.js获取图片的详细信息(苹果手机移动端上传图片旋转90度)
  5. laravel中,提交表单后给出提示例如添加成功,添加失败等等
  6. Windows+Nginx+IIS做图片分布式存储详细步骤
  7. POJ-1318(list.sort()输出不为字典序,map才是按字典序排列)
  8. Vivado的helloword程序:软件工程部分
  9. (4)Smali系列学习之Smali语法详解内部类
  10. iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览