美文网首页iOS开发LeetCode算法刷题码农的世界
LeetCode刷算法题 - 7. Reverse Intege

LeetCode刷算法题 - 7. Reverse Intege

作者: 蓝色小石头 | 来源:发表于2018-04-23 17:22 被阅读112次

    数据结构与算法的重要性就不多说了,几乎没有一个一线互联网公司招聘任何类别的技术人员是不考算法的,程序猿们都懂的,现在最权威流行的刷题平台就是 LeetCode。闲话少讲,步入正题。

    LeetCode原题链接

    string - C++ Reference

    C++中int与string的相互转换

    C++ Map常见用法说明

    Question:

    Given a 32-bit signed integer, reverse digits of an integer.

    Example:

    Input: 123
    Output: 321
    
    Input: -123
    Output: -321
    
    Input: 120
    Output: 21
    

    Note:

    Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

    Solution

    以下代码皆是本人用 C++写的,觉得还不错的话别忘了点个赞哦。各位同学们如果有其他更高效解题思路还请不吝赐教,多多学习。

    A1、对数循环

    算法时间复杂度 O(logn),Runtime: 25 ms,代码如下

    class Solution {
    public:
        int reverse(int x) {
    
            long res = 0;
            
            while (x) {
                res = res*10 + x%10;
                x /= 10;
            }
            
            return (res < INT32_MIN || res > INT32_MAX) ? 0 : (int)res;
        }
    };
    

    引用相关

    LeetCode 官网

    相关文章

      网友评论

      • 阿群1986:边界测试:
        reverse(1+reverse(INT32_MAX)) 会不会溢出?

      本文标题:LeetCode刷算法题 - 7. Reverse Intege

      本文链接:https://www.haomeiwen.com/subject/qtlzkftx.html