輸入:「aba」輸出:true
輸入:「adba」輸出:false
解釋:可以刪除d或b
可以通過雙指標標定字串s的低位low和高位high,然後迴圈++low,--high,判斷指標所指的字元是否相等。
如果一直到迴圈結束都相等,那就是普通的判斷回文數。但此問題是可以至多刪除乙個字元,然後繼續判斷餘下的字串是否還為回文數。
此時,可以判斷餘下的字串[low+1,high]或[low,high-1]是否為回文數。
public
boolean
validpalindrome
(string s)
else
}return
true;}
public
boolean
validpalindrome
(string s,
int low,
int high)
}return
true
;}
驗證回文字串
描述 給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。解法 字串中可能含有其他的字元,我們從字串的兩頭開始索引,如果左邊的字元不是字母或者數字字元,那麼讓左邊先走一步,同理右邊的也一樣。如果兩邊字元相同,那麼左邊和右邊同時走...
驗證回文字串
給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true示例 2 輸入 race a car 輸出 false將大寫字母全部轉化成小寫字母,將空格...
驗證回文字串
給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。示例 1 輸入 aba 輸出 true 示例 2 輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。方法 雙指標法 通過split 方法將字串轉換成字串陣列arr...