Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

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