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     }
  • 相关阅读:
    WLAN 802.11 a/b/g PHY Specification and EDVT Measurement III
    L233
    L232 No methane on Mars
    leetcode 38 Count and Say ---java
    海量字符串查找——bloom filter,c
    leetcode 37 Sudoku Solver java
    mount --bind使用方法
    ECS API
    Linux挂载磁盘
    ECS简述
  • 原文地址:https://www.cnblogs.com/qingjiaowoxiaoxioashou/p/13490403.html
Copyright © 2011-2022 走看看