Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1], then return 0.
Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
Example 1:
Input: x = 123 Output: 321
Example 2:
Input: x = -123 Output: -321
Example 3:
Input: x = 120 Output: 21
Example 4:
Input: x = 0 Output: 0
Constraints:
- -231 <= x <= 231 - 1
class Solution {
public:
long reverse(long x) {
bool neg = false;
if (x < 0)
{
neg = true;
x *= -1;
}
long reversed = 0;
while (x > 0)
{
reversed *= 10;
reversed += (x % 10);
x /= 10;
}
if (reversed > INT_MAX)
{
return 0;
}
else
{
reversed = (neg ? (reversed * -1) : reversed);
}
return reversed;
}
};
'Challenge' 카테고리의 다른 글
[LeetCode] Palindrome Number (0) | 2021.09.24 |
---|---|
[LeetCode] String to Integer (atoi) (0) | 2021.09.24 |
[LeetCode] ZigZag Conversion (0) | 2021.09.13 |
Check for pair with a given sum (0) | 2021.09.13 |
[LeetCode] Longest Palindromic Substring (0) | 2021.09.12 |