zoukankan      html  css  js  c++  java
  • leetcode 142:reverse-integer

    题目描述

    将给出的整数x翻转。
    例1:x=123,返回321
    例2:x=-123,返回-321

    你有思考过下面的这些问题么?
    如果整数的最后一位是0,那么输出应该是什么?比如10,100
    你注意到翻转后的整数可能溢出吗?假设输入是32位整数,则将翻转10000000003就会溢出,你该怎么处理这样的样例?抛出异常?这样做很好,但是如果不允许抛出异常呢?这样的话你必须重新设计函数(比如添加一个额外的参数)。
    题目分析:
    这个题目比较简单,常规题。主要就是对符号的处理和如果数据溢出的处理。如果数据小于0,则一定为负数,负数转换了以后还是负数。数据溢出时加了判断 if(reverseNum >= INT_MAX),如果溢出,返回0.
    代码如下:
     1 int reverse(int x) {
     2         long long reverseNum = 0;
     3         int flag = 1;
     4         if(x < 0)
     5             flag = flag * -1;
     6         x = x*flag;
     7         while(x > 0)
     8         {
     9             reverseNum = reverseNum * 10 + x%10;
    10             x /= 10;
    11             if(reverseNum >= INT_MAX)
    12                 return 0;
    13         }
    14         return reverseNum * flag;
    15     }
  • 相关阅读:
    springboot配置redis缓存
    【spark】local模式运行
    mybatis从入门到精通(二) 增删查改
    学习设计模式
    学习设计模式
    mybatis从入门到精通(一) 入门
    学习NIO 之 使用方法
    学习 NIO 之 零拷贝
    Java并发
    学习设计模式
  • 原文地址:https://www.cnblogs.com/qingjiaowoxiaoxioashou/p/13490403.html
Copyright © 2011-2022 走看看