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

结果

相关推荐
海的诗篇_1 小时前
移除元素-JavaScript【算法学习day.04】
javascript·学习·算法
自动驾驶小卡1 小时前
A*算法实现原理以及实现步骤(C++)
算法
Unpredictable2221 小时前
【VINS-Mono算法深度解析:边缘化策略、初始化与关键技术】
c++·笔记·算法·ubuntu·计算机视觉
编程绿豆侠1 小时前
力扣HOT100之多维动态规划:1143. 最长公共子序列
算法·leetcode·动态规划
珂朵莉MM1 小时前
2021 RoboCom 世界机器人开发者大赛-高职组(初赛)解题报告 | 珂学家
java·开发语言·人工智能·算法·职场和发展·机器人
fail_to_code2 小时前
递归法的递归函数何时需要返回值
算法
C137的本贾尼2 小时前
(每日一道算法题)二叉树剪枝
算法·机器学习·剪枝
BUG收容所所长4 小时前
栈的奇妙世界:从冰棒到算法的华丽转身
前端·javascript·算法
XRZaaa4 小时前
常见排序算法详解与C语言实现
c语言·算法·排序算法