#include "s0007_reverse_integer.hpp" int S0007::reverse(int x) { int r{0}; std::queue queue; while (x != 0) { queue.push(x % 10); x = static_cast((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; }