408每日算法——反转整数

2021/6/29 22:22:18

本文主要是介绍408每日算法——反转整数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

反转整数

一、问题描述

  给定一个32位有符号整数,将整数中得到数字进行反转

  示例:

    输入:123

    输出:321

    输入:-123

    输出:-321

    输入:120

    输出:21

二、算法思想

  取一个数的个位数只需要这个数对10取余,可以通过不断的对10取余然后除10,依次取出个位、十位……的数。最后就能得到反转后的数。

  如果计算机只能存储32位整数,那么反转后有溢出风险

三、代码

  

 1 #include <cstdio>
 2 const int INT_MIN=-214748364;
 3 const int INT_MAX=214748364;
 4 int main(){
 5     int x,res = 0;
 6     scanf("%d",&x);
 7     while(x){
 8         int y = x%10;
 9         x = x/10;
10         if(res < INT_MIN || res > INT_MAX){
11             return 0;
12         }else{
13             res = res*10+y;
14         }
15     }
16     printf("%d",res);
17     return 0;
18     
19 } 

 



这篇关于408每日算法——反转整数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程