检查 JavaScript 中回文字符串的排列
我们需要编写一个 JavaScript 函数,它将一个字符串作为第一个且唯一的参数。
我们的函数的任务是检查字符串中字符的任何重新排列是否会导致一个回文串。如果是,那么我们的函数应返回 true,否则返回 false。
例如,-
如果输入字符串是 -
const str = 'amadm';
那么输出应为 -
const output = true;
因为该字符串可以重新排列以形成“madam”,这是一个回文串。
示例
此代码为 -
const str = 'amadm'; const canFormPalindrome = (str = '') => { const hash = {}; let count = 0; for (let i = 0; i < str.length; i++) { let c = str[i]; if(c === ' '){ continue; }; if(hash[c]){ delete hash[c]; }else{ hash[c] = true; }; count++; }; if(count % 2 === 0){ return Object.keys(hash).length === 0; }else{ return Object.keys(hash).length === 1; }; }; console.log(canFormPalindrome(str));
输出
控制台中的输出为 -
true
广告