Skip to content

Commit

Permalink
TheAlgorithms#559 Improve Palindrome check
Browse files Browse the repository at this point in the history
  • Loading branch information
IamLokesh and LOkesh authored Feb 16, 2021
1 parent 21b003e commit 4bc2b28
Showing 1 changed file with 5 additions and 12 deletions.
17 changes: 5 additions & 12 deletions String/CheckPalindrome.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,13 @@ const checkPalindrome = (str) => {
if (typeof str !== 'string') {
return 'Not a string'
}
// Store the length of the input string in a variable
const length = str.length
if (length === 0) {
if (str.length === 0) {
return 'Empty string'
}
// Iterate through the length of the string
// Compare the first character to the last, the second character to the second last, and so on
for (let i = 0; i < length / 2; i++) {
// at the first instance of a mismatch
if (str[i] !== str[length - 1 - i]) {
return 'Not a Palindrome'
}
}
return 'Palindrome'
// Reverse only works with array, thus conevert the string to array, reverse it and convert back to string
// return as palindrome if the reversed string is equal to the input string
const reversed = [...str].reverse().join('')
return str === reversed ? 'Palindrome' : 'Not a Palindrome'
}

export { checkPalindrome }

0 comments on commit 4bc2b28

Please sign in to comment.