How to check if a string can be rearranged as palindrome in Node.js

1 Answer

0 votes
function CanStringBeRearrangedAsPalindrome(str) {
    let ascii_count = Array(256).fill(0);
    
    for (let i = 0; i < str.length; i++) {
        ascii_count[str[i].charCodeAt(0)]++;
    }
    
    let odd = 0;
    
    for (let i = 0; i < 256; i++) {
        if ((ascii_count[i] & 1) != 0) {
            odd++;
        }
        if (odd > 1) {
            return false;
        }
    }
    return true;
}

const str = "abcdacdb";

let result = CanStringBeRearrangedAsPalindrome(str) ? "Yes" : "No";
console.log(result);

result = CanStringBeRearrangedAsPalindrome("abcca") ? "Yes" : "No";
console.log(result);

result = CanStringBeRearrangedAsPalindrome("abcbccccbbw") ? "Yes" : "No";
console.log(result);




/*
run:

Yes
Yes
No

*/

 



answered Sep 9, 2022 by avibootz

Related questions

1 answer 161 views
1 answer 147 views
1 answer 124 views
1 answer 109 views
1 answer 163 views
...