給定乙個非空字串 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。方法 雙指標分別指向頭尾,遇到不同的分別判斷刪除左右兩邊後剩下...