Easy-题目60:125. Valid Palindrome

原创 2016年05月30日 22:36:31

题目原文:
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
题目大意:
给一个字符串,只考虑字母数字且忽略大小写的情况下,判断是不是回文的。
题目分析:
在普通判断回文的算法基础上简单加以改进即可,遇到大写字母转换为小写字母,遇到非字母和数字跳过,遇到两边指针指向的字符不相等直接返回false跳出去。
源码:(language:java)

public class Solution {
    public boolean isPalindrome(String s) {
        int len=s.length();
        if(len==0||len==1)
            return true;
        int i=0,j=len-1;
        while(i<j) {
            char ch1=s.charAt(i);
            char ch2=s.charAt(j);
            if(ch1>='A'&&ch1<='Z')
                ch1+=32;
            if(ch2>='A'&&ch2<='Z')
                ch2+=32;
            if (!((ch1>='a'&&ch1<='z') || (ch1>='0' && ch1<='9'))) {
                i++;
                continue;
            }
            if (!((ch2>='a'&&ch2<='z') || (ch2>='0' && ch2<='9'))) {
                j--;
                continue;
            }
            if(ch1!=ch2)
                return false;
            else {
                i++;
                j--;
            }
        }
        return true;
    }
}

成绩:
5ms,beats 97.26%,众数9ms,15.18%
cmershen的碎碎念
其实本题的思路不难想,但我也想不到为什么会击败这么多提交代码……,可能是计算机中加32比较好操作吧(只需改动1bit)

版权声明:完整版Leetcode题解请出门左转https://github.com/cmershen1/leetcode/tree/master/docs

【LeetCode】- Valid Palindrome(正确的回文)

[ 问题: ] Given a string, determine if it is a palindrome, considering only alphanumeric characters a...
  • zdp072
  • zdp072
  • 2014年08月28日 08:46
  • 3179

【LeetCode-面试算法经典-Java实现】【125-Valid Palindrome(回文字验证)】

【125-Valid Palindrome(回文字验证)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given a string, determine if it i...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月14日 06:18
  • 2274

Valid Palindrome 检查是否是有效的回文 @LeetCode

package Level2; /** * Valid Palindrome * * Given a string, determine if it is a palindrome, con...
  • hellobinfeng
  • hellobinfeng
  • 2013年10月18日 23:56
  • 1992

Leetcode OJ 125 Valid Palindrome [Easy]

Leetcode OJ 125 Valid Palindrome 题目描述: Given a string, determine if it is a palindrome,considerin...
  • qq_20745131
  • qq_20745131
  • 2017年07月26日 21:52
  • 118

LeetCode-Easy部分中标签为Two Pointers 125. Valid Palindrome

判断一个字符串是不是`回文` 字符串。首、尾指针分别指向有效字符或数字,一一比较,若过程中出现不等,直接返回false,若两个指针碰头了,表示字符首、尾都相等,返回true。...
  • daigualu
  • daigualu
  • 2017年04月05日 17:20
  • 516

125. Valid Palindrome [easy] (Python)

125. Valid Palindrome [easy] (Python)题目链接https://leetcode.com/problems/valid-palindrome/题目原文 Given...
  • coder_orz
  • coder_orz
  • 2016年05月03日 14:43
  • 1337

125 Valid Palindrome

之前代码: public class Solution { public boolean isPalindrome(String s) { if(s==null) retur...
  • laserljy123
  • laserljy123
  • 2017年03月26日 01:55
  • 89

LeetCodeOJ_125_Valid Palindrome

答题链接题目:Given a string, determine if it is a palindrome(回文), considering only alphanumeric characters...
  • u012482487
  • u012482487
  • 2015年11月18日 21:46
  • 179

LeetCode 125 Valid Palindrome(有效回文)(*)

翻译给定一个字符串,确定它是否是回文的,仅仅考虑其中的数字和字符并忽略其他。例如, “A man, a plan, a canal: Pannama” 是回文的。 “race a car” 不是回文的...
  • NoMasp
  • NoMasp
  • 2016年02月02日 12:14
  • 2742

Leetcode-125 Valid Palindrome

1. 题目 Given a string, determine if it is a palindrome, considering only alphanumeric characters a...
  • yuchenshu89757
  • yuchenshu89757
  • 2016年08月20日 09:14
  • 146
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Easy-题目60:125. Valid Palindrome
举报原因:
原因补充:

(最多只允许输入30个字)