leetcode 7 Reverse Integer(水题)

so easy,注意一下输入不爆int但是反转以后可能爆int。

class Solution {
public:
    int gao(int w){
        if(w==0) return 1;
        else{
            int ans=1;
            while(w--){
                ans*=10;
            }
            return ans;
        }
    }
    int reverse(int x) {
        vector<int>v;
        if(x>=0){
            int t=x;
            while(t>0){
                v.push_back(t%10);
                t/=10;
            }
            long long int ans=0;
            int siz=v.size();
            int st=siz-1;
            for(int i=0;i<siz;i++){
                ans+=(long long int)v[i]*gao(st);
                st--;
            }
            if(ans<2147483648)
            return (int)ans;
            else return 0;
        }
        else{
            x=-x;
            int t=x;
            while(t>0){
                v.push_back(t%10);
                t/=10;
            }
            long long int ans=0;
            int siz=v.size();
            int st=siz-1;
            for(int i=0;i<siz;i++){
                ans+=(long long int)v[i]*gao(st);
                st--;
            }
            if(ans<=2147483648)
            return (int)-ans;
            else return 0;
        }
    }
};
时间: 2024-08-06 20:06:11

leetcode 7 Reverse Integer(水题)的相关文章

LeetCode:Reverse Integer - 翻转数字

1.题目名称 Reverse Integer(翻转数字) 2.题目地址 https://leetcode.com/problems/reverse-integer/ 3.题目内容 英文:Reverse digits of an integer. 中文:翻转一个正整数的各位,形成一个新数字 例如:x = 123, return 321:x = -123, return -321 4.一个有瑕疵的方法(不能AC) 一个比较好想到的方法,是先将输入的数字转换为字符串,再将字符串翻转后转换为数字.这个方

LeetCode 007 Reverse Integer

[题目] Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 [题意] 反转int型整数,输出的也是int型的整数 [思路] 如要考虑两种特殊情况: 1. 类似100这样的整数翻转之后为1 2. 翻转之后的值溢出该如何处理, 本题的测试用例中似乎没有给出溢出的情况 在实际面试时需要跟面试官明确这种情况的处理方法. 基于这点事实,本题规定如果超出正边界返回INT_MA

Leetcode 数 Reverse Integer

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie Reverse Integer Total Accepted: 17472 Total Submissions: 43938 Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 click to show spoilers. Have you thought

【LeetCode】Reverse Integer (2 solutions)

Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 click to show spoilers. Have you thought about this? Here are some good questions to ask before coding. Bonus points for you if you have alread

Leetcode 7. Reverse Integer(水)

7. Reverse Integer Easy Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Example 2: Input: -123 Output: -321 Example 3: Input: 120 Output: 21 Note: Assume we are dealing with an environment which could on

[LeetCode][JavaScript]Reverse Integer

Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 click to show spoilers. Have you thought about this? Here are some good questions to ask before coding. Bonus points for you if you have alread

LeetCode 7 Reverse Integer(反转数字)

题目来源:https://leetcode.com/problems/reverse-integer/ Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 解题思路: 其实这道题看起来非常简单,要实现也是几行代码的事.但是有个小问题容易被忽略,就是边界问题.什么意思呢?如果我们输入的整数超出了int的表达范围,这个问题要怎么解决呢? 用比int更大的数据类型存储我们转

leetcode(7): Reverse Integer 源码实现 runtime: 8ms

题目 :Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 题目分析及部分代码解析: 1.需要考虑一位数,比如1,2,3等特殊情况,返回本身. 2.需要考虑0,返回0. 3.需要考虑如123000,45600等末尾有若干零的情况,正确结果应为321.654,不应该出现000321,00654等情况. 4.需要4字节int类型数据的取值范

LeetCode #7 Reverse Integer (E)

[Problem] Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 [Analysis] 这题不难,关键是要注意overflow的处理,因为reverse后的数字有可能超出Integer的范围.有两种思路:一种是利用对10取模的运算,每次将最后一位加入结果并将结果乘10:一种是利用Java StringBuilder的reverse函数以及Integer的pars