驗證回文字串

2021-10-22 14:04:22 字數 610 閱讀 2519

輸入:「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...