• 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;
        }
    }
  • 相关阅读:
    JDBC 基本语法总结
    MySQL 基本语法
    mysql学习第三天练习(日期和时间函数)
    mysql学习第三天练习(流程控制函数)
    mysql学习第三天笔记
    mysql学习第二天函数
    mysql学习第一天select
    mysql学习第一天
    Java石头剪刀布小游戏
    Java万年历
  • 原文地址:https://www.cnblogs.com/llguanli/p/8318456.html
Copyright © 2020-2023  润新知