1. 程式人生 > >Leetcode 680.驗證回文字符串

Leetcode 680.驗證回文字符串

!= 回文 lac 字符 回文字 文字 回文字符串 pan 字母

驗證回文字符串

給定一個非空字符串 s,最多刪除一個字符。判斷是否能成為回文字符串。

示例 1:

輸入: "aba"

輸出: True

示例 2:

輸入: "abca"

輸出: True

解釋: 你可以刪除c字符。

註意:

  1. 字符串只包含從 a-z 的小寫字母。字符串的最大長度是50000。

技術分享圖片

 1 class Solution {
 2     public boolean isPalindromeRange(String s, int i, int j) {
 3         for (int k = i; k <= i + (j - i) / 2; k++) {
4 if (s.charAt(k) != s.charAt(j - k + i)) return false; 5 } 6 return true; 7 } 8 public boolean validPalindrome(String s) { 9 for (int i = 0; i < s.length() / 2; i++) { 10 if (s.charAt(i) != s.charAt(s.length() - 1 - i)) { 11 int
j = s.length() - 1 - i; 12 return (isPalindromeRange(s, i+1, j) || 13 isPalindromeRange(s, i, j-1)); 14 } 15 } 16 return true; 17 } 18 }

技術分享圖片

Leetcode 680.驗證回文字符串