7. 整数反转


7. 整数反转 考虑溢出

class Solution {
    public int reverse(int x) {
        int ans = 0;
        while (x != 0) {
            int pop = x % 10;
            if (ans > Integer.MAX_VALUE / 10 || (ans == Integer.MAX_VALUE / 10 && pop > 7))
                return 0;
            if (ans < Integer.MIN_VALUE / 10 || (ans == Integer.MIN_VALUE / 10 && pop < -8))
                return 0;
            ans = ans * 10 + pop;
            x /= 10;
        &#125;
        return ans;
    &#125;
&#125;
x pop ans
1234 0
123 4 4
12 3 43
1 2 432
0 1 4321

文章作者:   future
版权声明:   本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 future !
 上一篇
1143. 最长公共子序列 1143. 最长公共子序列
1143. 最长公共子序列一个字符串的   子序列   是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,”ace” 是 “abcde” 的子序列,但 “aec”
2021-02-24 future
下一篇 
19. 删除链表的倒数第 N 个结点 19. 删除链表的倒数第 N 个结点
19. 删除链表的倒数第 N 个结点链表的长度用到哑节点遍历到 L−n+1 个节点时,它的下一个节点就是我们需要删除的节点,只需要修改一次指针,就能完成删除操作。 class Solution &#123; public L
2021-02-24 future
  目录