leetcode 680 驗證回文字串

2022-03-13 20:45:33 字數 807 閱讀 9377

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

示例 1:

輸入: "aba"

輸出: true

示例 2:

輸入: "abca"

輸出: true

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

左右如果相等那就繼續比較,當左右不相等的時候,要麼刪除左邊的乙個再進行比較,要麼刪除右邊的乙個接著進行比較,例子:"abccbma",當比較到b和m的時候不相等了,這個時候要麼刪除b進行比較,要麼刪除m再進行比較。

解法一:

var validpalindrome = function

(s)

left++right--

return

true

}

//判斷刪除後的字串是否相等

function

check(left, right)

left++right--}

return

true

} }

不知道**錯了

看看別人遞迴解法吧

const validpalindrome = (s, count = 0) =>

if (count > 0)

return validpalindrome(s.slice(i, j), count + 1) || validpalindrome(s.slice(i + 1, j + 1), count + 1);

} return

true;};

leetcode 680 驗證回文字串

給定乙個非空字串s,最多刪除乙個字元。判斷是否能成為回文字串。示例 1 輸入 aba 輸出 true示例 2 輸入 abca 輸出 true解釋 你可以刪除c字元。雙指標法 維護左指標i,右指標j。兩邊向中間夾,當遇到不相等字串 判讀i 1 到j 或是 i 到 j 1是否回文 pythonclass...

LeetCode 680 驗證回文字串

給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。這道題依舊是雙指標型別題目,即前後雙指標依次判斷,但此題關鍵在於刪除哪乙個字元的問題,如果掃瞄中第一次碰到不相等...

leetcode 680 驗證回文字串

給定乙個非空字串 s,最多刪除乙個字元。判斷是否能成為回文字串。示例 1 輸入 aba 輸出 true 示例 2 輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。方法 雙指標分別指向頭尾,遇到不同的分別判斷刪除左右兩邊後剩下...