7. Reverse Integer 发表于 2022-01-08 Math12345678910111213141516171819202122class Solution { public int reverse(int x) { int res = 0; boolean positive = x >= 0; while (x != 0) { int digit = x % 10; x /= 10; if (positive) { if (res > Integer.MAX_VALUE / 10 || (res == Integer.MAX_VALUE / 10 && digit > 7)) { return 0; } } else { if (res < Integer.MIN_VALUE / 10 || (res == Integer.MIN_VALUE / 10 && digit == -9)) { return 0; } } res = res * 10 + digit; } return res; }} Math12345678910111213141516class Solution { public int reverse(int x) { int res = 0; while (x != 0) { if (res < Integer.MIN_VALUE / 10 || res > Integer.MAX_VALUE / 10) { return 0; } int digit = x % 10; x /= 10; res = res * 10 + digit; } return res; }} 正负数可以合并处理,同时输入值为 int 类型时最高位最大值为 2 可以省去部分临界值判断。 Reference7. Reverse Integer