zoukankan      html  css  js  c++  java
  • LeetCode(61)-Valid Palindrome

    题目:

    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;
        }
    }
  • 相关阅读:
    XML 特殊字符
    asp.net Application、 Session、Cookie、ViewState、Cache、Hidden 的区别
    Oracle 和 SqlServer 的区别
    TFS源代码管理的8大注意事项
    json 排序
    网页中内容的显示问题
    e.target与事件委托简例(转)
    form 中的 table元素过滤定位事件
    (转) Ajax 重定向
    Django ajax post 403 问题
  • 原文地址:https://www.cnblogs.com/llguanli/p/8318456.html
Copyright © 2011-2022 走看看