找LeetCode上简单的题目来撑过30天啦(DAY26)

题号:7 标题;Reverse Integer 难度:Medium

Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1], then return 0.
Assume the environment does not allow you to store 64-bit integers (signed or unsigned).

Example 1:
Input: x = 123
Output: 321
Example 2:
Input: x = -123
Output: -321
Example 3:
Input: x = 120
Output: 21
Example 4:
Input: x = 0
Output: 0

Constraints:
• -231 <= x <= 231 - 1

我的程序码

#include <stdio.h>  
#include <stdlib.h>  
#include <string.h>

int reverse(int x){

    if(x == 0)
        return  0;

    if(x<0&&x<=-2147483648)
        return  0;
    int i,j=0,num=x;
    
    if(x<0){
        x = -(x);
        j = -1;
    }
    int n = log10(x) + 1;

    //printf("%d\n",n);
    char *temp = calloc(n, sizeof(char));
    char *result = calloc(n, sizeof(char));
    for (i = n-1; i >= 0; --i, num /= 10)
    {
        temp[i] = (num % 10) + '0';
        //printf("%c",temp[i]);
    }
    //printf("%d\n",n);

    for(i=0;i<n;i++){
        result[n-1-i] = temp[i];
    }
    x=0;
    long y=0,num2=1;
    
    for (i = 0; i < n; i++, num2*= 10)
    {   
        y = y + (result[n-i-1]-48) *num2;
        printf("xxx:%d",y);
    }
    if(y>0&&y>=2147483647)
        return  0;
    if(y<0&&y<=-2147483648)
        return  0;
    return y;

}

DAY26心得
今天早早写出来,可以早早睡觉了呢~


<<:  【Day26】快速乘法器的实作(Booth演算法)

>>:  Day27 Flutter—BLoC介绍

课堂笔记 - 物联网概论 课後测验

课後测验 单选题 感知层(单选题) 1.下列哪一项不属於物联网的应用? A.洗衣机於电费最低时段自...

Day23-这不是火腿 helm介绍

当你的k8s系统越来越大,当中各种pod的设定也会越来越多,如果又要分成开发 测试以及正式上线的版本...

[Angular] Day9. Transforming Data Using Pipes

在上一章中介绍了如何在 template 中插入 component 的变量,而本章节要介绍如何使用...

【Day 3_ 关於Arm与袋狼的那些事】

制作出Candy Crush的游戏开发商King在今年3月时宣布推出拥有25年丰富历史、陪伴全球许多...

量测仪器 输入判读

假如一台电脑上,USB接数把不同品牌的量仪, 请问有甚麽方法或技术,可以撷取仪器讯号,得知量测数据是...