Files
JavaScript/Recursive/Palindrome.js
2020-10-10 23:17:39 +05:30

31 lines
765 B
JavaScript

// Check whether the given string is Palindrome or not
const Palindrome = (str) => {
if (typeof str !== 'string') {
str = str.toString()
}
if (str === null || str === undefined) {
return false
}
if (str.length === 1 || str.length === 0) {
return true
}
if (str[0] !== str[str.length - 1]) {
return false
} else {
return Palindrome(str.slice(1, str.length - 1))
}
};
// testing
(() => {
console.log('Palindrome: String: a = ', Palindrome('a'))
console.log('Palindrome: String: abba = ', Palindrome('abba'))
console.log('Palindrome: String: ababa = ', Palindrome('ababa'))
console.log('Not Palindrome: String: abbxa = ', Palindrome('abbxa'))
console.log('Not Palindrome: String: abxa = ', Palindrome('abxa'))
})()