LeetCode | 整数反转 C语言

Problem: 7. 整数反转

文章目录

思路

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

解题方法

由思路得

Code

c 复制代码
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;
}

结果

相关推荐
sali-tec7 小时前
C# 基于halcon的视觉工作流-章66 四目匹配
开发语言·人工智能·数码相机·算法·计算机视觉·c#
小明说Java7 小时前
常见排序算法的实现
数据结构·算法·排序算法
行云流水20198 小时前
编程竞赛算法选择:理解时间复杂度提升解题效率
算法
smj2302_796826529 小时前
解决leetcode第3768题.固定长度子数组中的最小逆序对数目
python·算法·leetcode
cynicme10 小时前
力扣3531——统计被覆盖的建筑
算法·leetcode
core51210 小时前
深度解析DeepSeek-R1中GRPO强化学习算法
人工智能·算法·机器学习·deepseek·grpo
mit6.82410 小时前
计数if|
算法
a伊雪11 小时前
c++ 引用参数
c++·算法
程序员Jared11 小时前
深入浅出C语言——程序环境和预处理
c语言