LeetCode:反转整数(C语言版)

Posted 想考北航的小刺猬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:反转整数(C语言版)相关的知识,希望对你有一定的参考价值。

LeetCode:反转整数(C语言版)

int reverse(int x)

    int num = 0;
    long sum = 0;
    
    if (x>=INT_MAX || x<=INT_MIN) return 0;
    
    while(x != 0)
        num = x % 10;
        x = x / 10;
        if(x != 0)
            if((sum + num) * 10 >= INT_MAX || (sum + num) * 10 <= INT_MIN) return 0;
            else
                sum = (sum + num) * 10;
             
        
        else
            sum = sum + num;
        
    
    return sum;

  • 主要思想就是将整数多次取余然后再不断*10,最后当x取整数部分等于0的时候,直接加上余数到待返回数据中。
  • 要注意的是整数的范围,在首次进入循环之前要判断是否超出整数范围,然后在*10的时候也要判断是否超出范围。

以上是关于LeetCode:反转整数(C语言版)的主要内容,如果未能解决你的问题,请参考以下文章

Python版[leetcode]7. 整数反转(难度简单)

LeetCode:两数之和(C语言版)

Leetcode:Integer To Roman(C语言版)

Leetcode:Integer To Roman(C语言版)

LeetCode:Zigzag Convertsion(锯齿形转换-C语言版)

LeetCode:Zigzag Convertsion(锯齿形转换-C语言版)