Last updated
Last updated
這一題是 的變形,考的是如果說最多可以修改一個字元,那是否可以形成回文?
在 LeetCode 很多的題目裡面,有時候修改和刪除其實是等價的(參考編輯距離的題目 )
例如:
abca
我們把 b
改成 c
或是 c
改成 b
又或是把 b
刪掉或把 c
刪掉,都可以成為回文。其實有點像是容錯的概念,又換句話說就是我們乾脆跳過這個檢查點好了。
這一題我們會使用遞迴來做,會使用遞迴來做的原因是因為我們就不用花大量的精力,去判斷我們是要給右指針跳過,或是左指針跳過,在這裏,我們也可以使用一個 bool 來判斷是不是已經修改過了。
其實這個布林值也可用一個計數器來代替,去計算我們最多可以修改 k 個值。