Palindrome Number
Post
Cancel

# LeetCode #9: Palindrome Number (C/C++).

easy

source: https://leetcode.com/problems/palindrome-number/
C/C++ Solution to LeetCode problem 9. Palindrome Number.

## Problem

Given an integer x, return true if x is a palindrome, and false otherwise.

## Examples

### Example 1:

Input: x = 121
Output: true
Explanation: 121 reads as 121 from left to right and from right to left.

### 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.

## Constraints

• -231 <= x <= 231 - 1

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

## Solution

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Solution { public: bool isPalindrome(int x) { if (x < 0 || (x != 0 && x % 10 == 0)) return false; int tmp = x; long rev = 0; while (tmp > 0) { int mod = tmp % 10; tmp /= 10; rev = (rev * 10) + mod; } return rev == x; } };