给定一个字符串,确定它是否是回文,只考虑字母数字字符和忽略大小写。
例如:
"A man, a plan, a canal: Panama" 是回文字符串。
"race a car" 不是回文字符串。
注意:
你有考虑过这个字符串可能是空的吗? 在面试中这是一个很好的问题。
针对此题目,我们将空字符串定义为有效的回文字符串。
详见:https://leetcode.com/problems/valid-palindrome/description/

Java实现:

class Solution {
public boolean isPalindrome(String s) {
int size=s.length();
if(s.isEmpty()||size==0){
return true;
}
char[] chars=s.toLowerCase().toCharArray();
int left=0;
int right=size-1;
while(left<right){
if(!isAlphaOrNum(chars[left])){
++left;
}else if(!isAlphaOrNum(chars[right])){
--right;
}else if(chars[left]==chars[right]){
++left;
--right;
}else{
return false;
}
}
return true;
}
private boolean isAlphaOrNum(char ch){
if(ch>='a'&&ch<='z'){
return true;
}
if(ch>='0'&&ch<='9'){
return true;
}
return false;
}
}

125 Valid Palindrome 验证回文字符串的更多相关文章

  1. [LeetCode] 125. Valid Palindrome 验证回文字符串

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

  2. [LeetCode] Valid Palindrome 验证回文字符串

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

  3. [LintCode] Valid Palindrome 验证回文字符串

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

  4. LeetCode 125. Valid Palindorme (验证回文字符串)

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

  5. [Leetcode] valid palindrome 验证回文

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

  6. [leetcode]125. Valid Palindrome判断回文串

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

  7. [LeetCode] 680. Valid Palindrome II 验证回文字符串 II

    Given a non-empty string s, you may delete at most one character. Judge whether you can make it a pa ...

  8. leetcode 125 验证回文字符串 Valid Palindrome

    验证回文字符串 C++ 思路就是先重新定义一个string ,先遍历第一遍,字符串统一小写,去除空格:然后遍历第二遍,首尾一一对应比较:时间复杂度O(n+n/2),空间O(n); class Solu ...

  9. LeetCode 680. 验证回文字符串 Ⅱ(Valid Palindrome II) 1

    680. 验证回文字符串 Ⅱ 680. Valid Palindrome II 题目描述 给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 每日一算法2019/5/4Day 1Le ...

随机推荐

  1. java中方法中声明三个点“...”作用

    public class Test {  public static void main(String[] args) {   String str[] = {"s"," ...

  2. ORA-01031: insufficient privileges 解决办法

    sysdba不能远程登录这个也是一个很常见的问题了. 碰到这样的问题我们该如何解决呢? 我们用sysdba登录的时候,用来管理我们的数据库实例,特别是有时候,服务器不再本台机器,这个就更是有必要了. ...

  3. NettyIO

  4. idhttp post 上传或下载时显示进度条(对接idhttp1.OnWork事件)

    通过 idhttp 带进度条上传演示一下,下载和上传原理差不多,说明一下下面例子中的的idhttp 是动态创建的 第一步:添加一个StatusBar或者gauge 进度条,这2个都可以.我用的是 st ...

  5. ie8的圆角问题

    pie.js的引用 1.在你的网页加载 PIE.js 脚本. 注意,用IE专用的注释,防止非IE浏览器下载. <!--[if lt IE 10]> <script type=&quo ...

  6. poj 1195 Mobile phones 解题报告

    题目链接:http://poj.org/problem?id=1195 题目意思:有一部 mobie phone 基站,它的面积被分成一个个小正方形(1 * 1 的大小),所有的小正方形的面积构成了一 ...

  7. html5--3.2 input元素(1)

    html5--3.2 input元素(1) 学习要点 input元素及其属性 input元素 用来设置表单中的内容项,比如输入内容的文本框,按钮等 不仅可以布置在表单中,也可以在表单之外的元素使用 i ...

  8. wukong引擎源码分析之索引——part 3 文档评分 无非就是将docid对应的fields信息存储起来,为搜索结果rank评分用

    之前的文章分析过,接受索引请求处理的代码在segmenter_worker.go里: func (engine *Engine) segmenterWorker() { for { request : ...

  9. Java内存溢出?

    内存溢出? https://www.cnblogs.com/crossoverJie/p/9552119.html 前言 OutOfMemoryError 问题相信很多朋友都遇到过,相对于常见的业务异 ...

  10. BZOJ1499 单调队列+DP

    1499: [NOI2005]瑰丽华尔兹 Time Limit: 3 Sec  Memory Limit: 64 MBSubmit: 1560  Solved: 949[Submit][Status] ...