leetcode.字符串.125驗證迴文串-Java

1. 具體題目正則表達式

給定一個字符串,驗證它是不是迴文串,只考慮字母和數字字符,能夠忽略字母的大小寫。說明:本題中,咱們將空字符串定義爲有效的迴文串。spa

示例 1:  輸入: "A man, a plan, a canal: Panama"  輸出: true指針

示例 2:  輸入: "race a car"  輸出: falsecode

2. 思路分析blog

對於給定的字符串,其中可能包括有無效字符,因此須要先將原字符串中的無效字符去掉(用正則表達式判斷),獲得新字符串後用雙指針比較首尾字符是否相等。字符串

3. 代碼class

public boolean isPalindrome(String s) { //字符串爲null和長度爲0是不一樣的
        if(s == null || s.length() == 0) return true; String str = s.replaceAll("[^0-9a-zA-Z]","").toLowerCase(); int left = 0; int right = str.length() - 1; while(left < right){ if(str.charAt(left) != str.charAt(right)){ return false; } left++; right--; } return true; }
相關文章
相關標籤/搜索