在 JavaScript 中使用至多一次刪除形成迴文串
問題
我們需要編寫一個 JavaScript 函式,其第一個也是唯一的引數是字串 str。
我們的函式可以至多從字串 str 中刪除一個字元,我們需檢查我們能否這麼做使之變為迴文串。
例如,如果輸入函式的內容是
輸入
const str = 'dr.awkward';
輸出
const output = true;
輸出說明
因為如果我們從字串中刪除“.”,
範例
以下為程式碼 −
const str = 'dr.awkward';
const validPalindrome = (str = '') => {
const valid = (left, right) => {
for (let i = left; i <= Math.floor((left + right) / 2); i++) {
if (str[i] !== str[right - (i - left)]) {
return false
}
}
return true
}
for (let i = 0; i <= Math.floor(str.length / 2); i++) {
const right = str.length - 1 - i
if (str[i] !== str[right]) {
return valid(i, right - 1) || valid(i + 1, right)
}
}
return true
}
console.log(validPalindrome(str));輸出
true
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP