zoukankan      html  css  js  c++  java
  • Java实现 LeetCode 125 验证回文串

    125. 验证回文串

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

    说明:本题中,我们将空字符串定义为有效的回文串。

    示例 1:

    输入: “A man, a plan, a canal: Panama”
    输出: true
    示例 2:

    输入: “race a car”
    输出: false

    class Solution {
        public  boolean isPalindrome(String s) {
            
            if (s.length() <= 1)
                return true;
            
            int left = 0;
            int right = s.length() - 1;
            char[] chars = s.toCharArray();
            
            while (left < right) {
    
                //调整空格
                if ((int) chars[left] == 32 )
                    left++;
    
                if ((int) chars[right] == 32)
                    right--;
    
                //调整大写 A-Z 65-90 || a-z 97-122
                if ((int) chars[left] >= 65 && (int) chars[left] <= 90)
                    chars[left] = (char) ((int) chars[left] + 32);
                if ((int) chars[right] >= 65 && (int) chars[right] <=90)
                    chars[right] = (char) ((int) chars[right] + 32);
    
                //验证目标字符为数字或字母
                boolean flag1 = (chars[left] >= '0' && chars[left] <= '9') || (chars[left] >= 'a' && chars[left] <= 'z');
                boolean flag2 = (chars[right] >= '0' && chars[right] <= '9') || (chars[right] >= 'a' && chars[right] <= 'z');
    
                //正式比较
                if (flag1 && flag2 && chars[left] != chars[right]) {
                    return false;
                }else if (!flag1){
                    left++;
                }else if (!flag2){
                    right--;
                }else {
                    left++;
                    right--;
                }
    
            }
            return true;
        }
    }
    
  • 相关阅读:
    adfs环境安装
    joinquant网站
    test
    对C转换说明符的误解以及关于数组的一些知识
    正确求平方根的整数部分方法
    单链表的交换排序法
    链表的冒泡排序
    240页345题
    C语言中对数组名取地址
    单链表的基础操作练习
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076166.html
Copyright © 2011-2022 走看看