1. 程式人生 > 其它 >【死磕Java併發】—–深入分析volatile的實現原理

【死磕Java併發】—–深入分析volatile的實現原理

給定一個字串,驗證它是否是迴文串,只考慮字母和數字字元,可以忽略字母的大小寫。

說明:本題中,我們將空字串定義為有效的迴文串。

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/valid-palindrome
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

class Solution {
    public boolean isPalindrome(String s) {
        if (s == null || s.length() == 0) {
            return true;
        }

        int left = 0, right = s.length() - 1;

        while (left < right) {
            if (!Character.isDigit(s.charAt(left)) && !Character.isAlphabetic(s.charAt(left))) {
                left++;
                continue;
            }

            if (!Character.isDigit(s.charAt(right)) && !Character.isAlphabetic(s.charAt(right))) {
                right--;
                continue;
            }

            if (Character.toLowerCase(s.charAt(left)) != Character.toLowerCase(s.charAt(right))) {
                return false;
            }
            left++;
            right--;
        }

        return true;
    }

    public static void main(String[] args) {
        System.out.println(Character.toLowerCase('1'));
    }
}
心之所向,素履以往 生如逆旅,一葦以航