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;
}

结果

相关推荐
erzong23129 分钟前
Linux操作系统:线程概念与控制
linux·算法
wuminyu1 小时前
JMM学习总结:深入理解happens-before关系
java·linux·c语言·jvm·c++
Nil2081 小时前
leetcode 5最长回文子串
算法·leetcode·职场和发展
xxwl5851 小时前
区域赛分类题解
c++·笔记·学习·算法
m0_674571971 小时前
力扣 hot 100 python
python·算法·leetcode
青少儿编程课堂2 小时前
蓝桥杯+全国青少年信息素养大赛+电子学会PythonC/C++考级:最长公共子序列LCS解析
c++·python·算法·bfs·信息学竞赛
圣保罗的大教堂3 小时前
leetcode 3727. 最大交替平方和 中等
leetcode
Zwawa3 小时前
让电机走到指定位置:编码器位置环 PID
c语言·单片机·嵌入式
倚楼听风语3 小时前
Kotlin 协程与 suspend 原理详解
java·算法·kotlin
Xin7703 小时前
LeetCode 200. 岛屿数量(DFS 深度优先遍历法)
leetcode