zoukankan      html  css  js  c++  java
  • LeetCode——翻转数字

    第七题,Reverse Integer。(https://leetcode.com/problems/reverse-integer/description/

    注意事项:翻转之后,数据有可能会超过INT_MAX或者INT_MIN,所以最后用一个大一点的类型保存。

    leetcode中的跑的最快的解决办法,8ms:

     1 class Solution {
     2 public:
     3     int reverse(int x) {
     4         int sign=x>=0?1:-1;
     5         long val=x; //注意,此处用long来定义,避免溢出
     6         if(x<0)
     7             val=-val;
     8         long num=0;
     9         while(val!=0){
    10             num=num*10+val%10;
    11             val/=10;
    12         }
    13         num=num*sign;
    14         return (num>INT_MAX||num<INT_MIN)?0:num;
    15     }
    16 };

    12ms的解决方案:(其实差不多)

     1 class Solution {
     2 public:
     3     int reverse(int x) {
     4         long y = 0 ;
     5         while (x != 0){
     6             y = y*10 + x%10 ;
     7             x = x / 10 ; 
     8         }
     9           return (y<INT_MIN || y>INT_MAX) ? 0 : y;
    10     }
    11 };

    我的解决办法:(我觉得差不多啊)

     1 class Solution {
     2 public:
     3     int reverse(int x) {        
     4         long result = 0;
     5 
     6         while(x)
     7         {
     8             int temp = x%10;
     9             result = result * 10 + temp;
    10             x = x/10;
    11         }
    12 
    13         if (result > INT_MAX || result < INT_MIN)
    14             result = 0;
    15         return result;
    16     }
    17 };

    Over~~

  • 相关阅读:
    第04组 Beta冲刺 (2/5)
    第04组 Beta冲刺 (1/6)
    第04组 Alpha冲刺 总结
    二叉树的递归与非递归
    各类典例模板
    选择题合辑2
    运算符重载
    链表题目
    集合的模拟实现(类模板)
    2018Final静态成员(黑名单)
  • 原文地址:https://www.cnblogs.com/whutao/p/10533063.html
Copyright © 2011-2022 走看看