Skip to content
Advertisement

I need to write difficult palindrome

That’s my example. String are given. Implement a function – detectPalindrom, that can detect palindrome string.

  • Given argument not an string – return ‘Passed argument is not a string’.
  • Given string is empty – return ‘String is empty’.
  • Given string palindrome – return ‘This string is palindrome!’.
  • Given string is not a palindrome – return ‘This string is not a palindrome!’

I wrote a solution, but it works incorrectly:

 const detectPalindrome = (str) => {
    const palindr = str.split('').reverse().join('')

    if(str === '') {
      return 'String is empty'
  } 
    if (str === palindr) {
       return 'This string is palindrome!'
   } 
    if (str !== palindr) {
       return 'This string is not a palindrome!'
   }
}

Advertisement

Answer

Just can just put a check before creating the palindr string.

const detectPalindrome = (str) => {
  if (typeof str !== "string") {
    return 'Passed argument is not a string'
  }
  
  const palindr = str.split('').reverse().join('');

  if (str === '') {
    return 'String is empty';
  }
  if (str === palindr) {
    return 'This string is palindrome!';
  }
  if (str !== palindr) {
    return 'This string is not a palindrome!';
  }
};

detectPalindrome("154");
Advertisement