1 回答

TA貢獻1786條經驗 獲得超11個贊
您可以采用遞歸方法收集所有字符并檢查它們是否為回文。
function getSub(string) {
function isPalindrome(string) {
let l = 0,
r = string.length - 1;
if (!string) return false;
while (l < r) {
if (string[l] !== string[r]) return false;
l++; r--;
}
return true;
}
function sub([character, ...rest], right = '') {
if (isPalindrome(right) && !result.includes(right)) result.push(right);
if (!character) return;
sub(rest, right + character);
sub(rest, right);
}
var result = [];
sub([...string])
return result;
}
console.log(getSub('acdapmpomp'));
添加回答
舉報