码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode(61)-Valid Palindrome

时间:2018-01-19 19:47:37      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:ber   ring   tor   http   operator   pre   only   purpose   ant   

题目:

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.

思路:

  • 题意:推断一个字符串是不是回文
  • 这道题能够採用双指针,开头first。结尾sed,first++。sed–,first < sed
  • 要求不考虑大写和小写。所有转化为大写。同一时候推断字符是不是字母和数字,‘A’,‘Z’,‘0’,‘9’

代码:

public class Solution {
    public boolean isPalindrome(String s) {
        if(s == null){
            return true;
        }
        char A = ‘A‘;
        char Z = ‘Z‘;
        char numMin = ‘0‘;
        char numMax = ‘9‘;
        s = s.toUpperCase();
        int first  = 0;
        int sed = s.length() - 1;
        while(first < sed){
            if((s.charAt(first) < A||s.charAt(first) > Z) && (s.charAt(first) < numMin||s.charAt(first) > numMax)){
                first++;
                continue;
            }
            if((s.charAt(sed) < A||s.charAt(sed) > Z) && (s.charAt(sed) < numMin||s.charAt(sed) > numMax)){
                sed--;
                continue;
            }
            if(s.charAt(first) == s.charAt(sed)){
                first++;
                sed--;
            }else{
                return false;
            }
        }
        return true;
    }
}

LeetCode(61)-Valid Palindrome

标签:ber   ring   tor   http   operator   pre   only   purpose   ant   

原文地址:https://www.cnblogs.com/llguanli/p/8318456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!