Description

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.

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.

Example

"A man, a plan, a canal: Panama" is a palindrome.

"race a car" is not a palindrome.

Challenge

O(n) time without extra memory.

解题:判断某字符串是否是回文字符串,其中标点可以不对称,但字母和数字必须要对称。可以通过Character中的函数, isLetterOrDigit( char ch )来判断。代码如下:

public class Solution {
/**
* @param s: A string
* @return: Whether the string is a valid palindrome
*/
public boolean isPalindrome(String s) {
// write your code here
s = s.toUpperCase();
for(int i = 0, j = s.length() - 1; i <= j; i++, j--){
if(s.charAt(i) == s.charAt(j))
continue;
else{
if(Character.isLetterOrDigit(s.charAt(i)) && Character.isLetterOrDigit(s.charAt(j)))
return false;
else{
if(Character.isLetterOrDigit(s.charAt(i))){
i--;
}else if(Character.isLetterOrDigit(s.charAt(j))){
j--;
}else{
continue;
}
}
}
}
return true;
}
}

最新文章

  1. MVC教程相关
  2. HDU 4405 (概率DP)
  3. Thrift 个人实战--RPC服务的发布订阅实现(基于Zookeeper服务)
  4. 聚合数据天气预报API-ajax 通过城市名取数据
  5. 垃圾回收 GC
  6. java类的结构(属性、方法、构造函数)
  7. ajaxpro——js调用后台的方法
  8. Java中间件:淘宝网系统高性能利器(转)
  9. git clone https://github.com/istester/ido.git ,确提示“Failed to connect to 192.168.1.22 port 8080: Connection refused” 的解决办法 。
  10. Linux:进程通信之消息队列Message实例
  11. 【论文速读】Pan He_ICCV2017_Single Shot Text Detector With Regional Attention
  12. NFS服务自动搭建及挂载脚本
  13. 11G新特性 -- Statistics Preferences
  14. js分页器插件
  15. python 之 运算符
  16. 针对C程序员的 C++
  17. 关于python 的空的__init__.py文件的作用,可不可以删除,到底有没有用?
  18. 去把bilibili的返回顶点锚点扒了下来
  19. CSS盒子模型之CSS3可伸缩框属性(Flexible Box)
  20. python 读取Linux服务器上的文件

热门文章

  1. 将Spring容器跟随系统启动并获取容器对象
  2. android学习:Android上面部署Apache FTPServer
  3. 10JavaScript作用域
  4. Angular4 自制分页控件
  5. python学习笔记(二):基础知识点
  6. python的MetaClass的代码分析。基于廖雪峰博客代码
  7. MFC-控件操作及数据交换
  8. 【Hutool】Hutool工具类之日期时间工具——DateUtil
  9. 20155222 2016-2017-2 《Java程序设计》第4周学习总结
  10. 【转】odoo学习之:API整合文档