This commit is contained in:
20
src/s0007_reverse_integer.cpp
Normal file
20
src/s0007_reverse_integer.cpp
Normal file
@@ -0,0 +1,20 @@
|
||||
#include "s0007_reverse_integer.hpp"
|
||||
|
||||
int Solution::reverse(int x) {
|
||||
int r{0};
|
||||
std::queue<int> queue;
|
||||
|
||||
while (x != 0) {
|
||||
queue.push(x % 10);
|
||||
x = static_cast<int>((x - (x % 10)) / 10);
|
||||
}
|
||||
while (!queue.empty()) {
|
||||
if (r < INT_MIN / 10 || r > INT_MAX / 10) {
|
||||
return 0;
|
||||
}
|
||||
r = r * 10 + queue.front();
|
||||
queue.pop();
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
Reference in New Issue
Block a user