mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-06 01:18:23 +08:00
#559 Improve Palindrome check
* #559 * #559 * #559 * #559 Co-authored-by: LOkesh <lpatil@rewardhealth.com>
This commit is contained in:
@ -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 }
|
||||
|
Reference in New Issue
Block a user