import java.util.*;

public class Solution {
    public int reverse (int x) {
        // 初始化
        int res = 0;

        // 遍历数字位
        while (x != 0) {
            // 获取最低位数值
            int lowest = x % 10; 
            // 暂存待更新的值
            int temp = res * 10 + lowest;
            // 判断是否溢出
            if ( (temp - lowest) / 10 != res) return 0; // 不能逆运算必为溢出
            // 校验通过,更新相关数据
            res = temp;
            x /= 10;
        }
        
        // 遍历结束,返回结果
        return res;
    }
}