LeetCode | 整数反转 C语言

Problem: 7. 整数反转

文章目录

  • 思路
  • 解题方法
  • Code
  • 结果

思路

  1. 运算部分
while(x > 0) {
    y += x % 10;
    y *= 10;
    x /= 10;
}
y /= 10;
  1. 对于大于32位的数要用long int类型的变量保存
  2. 用pow算-2的31次方和2的31次方-1。

解题方法

由思路得

Code

int reverse(long int x){
    long int y = 0, flag = 1;
    if(x < 0) {
        x *= -1;
        flag = 0;
    }
    while(x > 0) {
        y += x % 10;
        y *= 10;
        x /= 10;
    }
    y /= 10;
    if(y < (long)pow(-2, 31) || y > (long)pow(2, 31)-1) return 0;
    else if(!flag) y *= -1;
    return y;
}

结果

LeetCode | 整数反转 C语言_第1张图片

你可能感兴趣的:(#,LeetCode,c语言,算法,leetcode)