Easy 125题 Valid Palindrome

来源:互联网 发布:创世网络宣传片 编辑:程序博客网 时间:2024/04/29 10:50

Question:

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.


Solution:

就是基本的思路

public class Solution {    public boolean isPalindrome(String s) {         if (s.isEmpty()) {        return true;        }        int head = 0, tail = s.length() - 1;        char cHead, cTail;        while(head <= tail) {        cHead = s.charAt(head);        cTail = s.charAt(tail);        if(cHead<48||(cHead>57&&cHead<65)||(cHead>90&&cHead<97)||cHead>122)        {            head++;            continue;        }        if(cTail<48||(cTail>57&&cTail<65)||(cTail>90&&cTail<97)||cTail>122)        {            tail--;            continue;        }        if(cHead<=90&&cHead>=65)            cHead=(char)(cHead+32);        if(cTail<=90&&cTail>=65)            cTail=(char)(cTail+32);        if(cHead==cTail)        {            head++;            tail--;        }        else            return false;        }        return true;    }}


关于String的几个函数

Character.isLetterOrDigit(c)
Character.toLowerCase(c)


0 0
原创粉丝点击