## DEV Community is a community of 605,868 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

loading...

# Question

Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

Follow up: Could you solve it without converting the integer to a string?

Example 1:

``````Input: x = 121
Output: true
``````

Example 2:

``````Input: x = -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
``````

Example 3:

``````Input: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
``````

Example 4:

``````Input: x = -101
Output: false
``````

Constraints:

• -231 <= x <= 231 - 1

## Let's Go!

Solve by using PREP.

• P - One parameter. A number x
• R - Return true or false if palindrome
• E - Examples provided by question. (See Above)
• P - See Below
``````var isPalindrome = function(x) {
// IF x is negative, RETURN false

// Convert x to str and split into array
// Invoke REDUCE method to reverse array and combine to single str
// RETURN true or false based on comparing reversed str to x.toString()
};

``````

Translate into code...

``````var isPalindrome = function(x) {
// IF x is negative, RETURN false
if (Math.sign(x) === -1) return false
// Convert x to str and split into array
// Invoke REDUCE method to reverse array and combine to single str
// RETURN true or false based on comparing reversed str to x.toString()
return x.toString().split('').reduce((rev, char) => char + rev) === x.toString()
};

``````

### Conclusion

& Remember... Happy coding, friends! =)

## Discussion (0) 