`
king_tt
  • 浏览: 2234446 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

【leetcode】Reverse Integer

 
阅读更多

Question :

Reverse digits of an integer.

Example1:x = 123, return 321
Example2:x = -123, return -321

Have you thought about this?

Here are some good questions to ask before coding. Bonus points for you if you have already thought through this!

If the integer's last digit is 0, what should the output be? ie, cases such as 10, 100.

Did you notice that the reversed integer might overflow? Assume the input is a 32-bit integer, then the reverse of 1000000003 overflows. How should you handle such cases?

Throw an exception? Good, but what if throwing an exception is not an option? You would then have to re-design the function (ie, add an extra parameter).

Anwser 1 :

class Solution {
public:
    int reverse(int x) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        int ret = 0;
        
        int div = 1;
        bool flag = false;
        if(x < 0) {         // flag a negative
            flag = true;
            x = -x;
        }
        
        queue<int> Q;
        while(x > 0){       
            int mod = x % 10;   // from low digit to high
            Q.push(mod);
            
            x /= 10;
            div *= 10;
        }
        
        while(!Q.empty()){
            int mod = Q.front();    // pop low digit
            Q.pop();
            
            div /= 10;
            ret = ret + mod * div;
        }
        
        return flag ? -ret : ret;
    }
};


Anwser 2 :

class Solution {
public:
    int reverse(int x) {
        int res = 0;
        
        bool flag = x < 0 ? true : false;
        x = flag ? -x : x;
        
         while (x > 0) {       // don't care positive or negetive
             res = res * 10 + x % 10;   // get lowest digit then multi 10
             x /= 10;
         }
         
         return flag ? -res : res;
    }
};

more simple :

class Solution {
public:
    int reverse(int x) {
        int res = 0;
         
         while (x != 0) {       // don't care positive or negetive
             res = res * 10 + x % 10;   // get lowest digit then multi 10
             x /= 10;
         }
         
         return res;
    }
};


分享到:
评论

相关推荐

    LeetCode7 Reverse Integer

    【LeetCode7 Reverse Integer】是LeetCode平台上的一个经典编程挑战,主要考察的是对整数操作的理解和逻辑处理能力。这个题目要求我们给定一个32位有符号整数,将其数字顺序反转。例如,输入123,输出321;输入-123...

    leetcode第321题-LeetCode-Reverse_Integer:LeetCode-Reverse_Integer

    第321题Reversed_Integer Java中的LeetCode逆整数问题解决方案 问题 - 给定一个有符号的 32 位整数 x,返回 x 其数字颠倒。 如果反转 x 导致值超出有符号的 32 位整数范围 [-231, 231 - 1],则返回 0。 假设环境不...

    LeetCode Reverse Interger 题目解决方案

    在LeetCode上的"Reverse Integer"题目中,目标是反转一个32位有符号整数的数字。本题考察了基本的数学操作、字符串处理以及边界条件的处理。下面将详细解释这个问题及其解决方案。 首先,我们需要了解32位有符号...

    c语言-leetcode 0007-reverse-integer.zip

    c c语言_leetcode 0007_reverse_integer.zip

    java-leetcode题解之007-Reverse-Integer

    java入门 java_leetcode题解之007_Reverse_Integer

    js-leetcode题解之7-reverse-integer.js

    js js_leetcode题解之7-reverse-integer.js

    leetcode卡-leetcode:一些leetcode问题的解决方法,请注意license!

    Leetcode\ReverseInteger\ReverseInteger.cs 问题: 业绩报告: 回文数 代码: Leetcode\PalindromeNumber\PalindromeNumber.cs 问题: 从排序数组中删除重复项 代码: Leetcode\RemoveDuplicates\RemoveDuplicates....

    程序员面试宝典LeetCode刷题手册

    7. Reverse Integer 9. Palindrome Number 11. Container With Most Water 13. Roman to Integer 15. 3Sum 16. 3Sum Closest 17. Letter Combinations of a Phone Number 18. 4Sum 19. Remove Nth Node From End of ...

    javalruleetcode-LeetCode:LeetCode算法问题

    java lru leetcode Fighting for a job! 记录找工作期间搬运的题,全部使用Java实现,本人C++鶸 1 ...LeetCode ...LeetCode ...LeetCode ...LeetCode ...LeetCode ...LeetCode ...LeetCode ...LeetCode ...Integer LeetCode 6 Zi

    LeetCode 刷题汇总1

    * 反向整数(Reverse Integer):将整数反转。 * 字符串到整数(atoi)(String to Integer (atoi)):将字符串转换为整数。 2. 字符串操作: * 最长的回文子串(Longest Palindromic Substring):找到字符串中...

    字符串整数的余数leetcode-reverse-integer:倒整数

    Integer.toString(x); int reversed; int sign = 1; if( s.substring(0,1).equals("-")) { s = s.substring(1); sign = -1; } StringBuilder reservedString = new StringBuilder(); char[] charArray = s....

    LeetCode最全代码

    190 | [Reverse Bits](https://leetcode.com/problems/reverse-bits/) | [C++](./C++/reverse-bits.cpp) [Python](./Python/reverse-bits.py) | _O(1)_ | _O(1)_ | Easy ||| 191 |[Number of 1 Bits]...

    LeetCode 刷题笔记 with Java.zip

    "Reverse Integer"(反转整数)则涉及到数字的位操作和溢出检查。 第二部分的暗黑版《LeetCode 刷题笔记 with Java 1-50(暗黑版).pdf》可能提供了更加深入或非主流的解法,鼓励读者从不同角度思考问题,挑战自己...

    leetcode分类-leetcode-go:LeetCode刷题记录

    leetcode 分类 数据结构和算法学习记录,结合LeetCode刷题 分类 DP 目录 题目 解法 分类 Time ...Reverse Integer/ri7.go) ...Reverse Integer/Solution.java) Math O(log(x)) O(1) JAVA Math JAVA Math

    Leetcode book刷题必备

    根据提供的文件信息,我们能提炼出一系列IT相关知识点,主要是围绕LeetCode这本电子书的主题——即编程面试题目解答。此电子书内容丰富,涵盖了算法和数据结构中常见的问题及其解决方案,非常适合准备技术面试的读者...

    0-leetcode:leetcode练习:twosum问题;addtwonumbers问题;reverse integer问题;最大不重复子字符串长度问题等,详细见readme.md;

    3. **Reverse Integer (反转整数)**: 题目要求将一个整数的位序反转。这个问题涉及到整数的位运算,如右移(&gt;&gt;)和左移()操作,以及处理溢出的情况。在C++中,需要特别注意整数的正负号和溢出问题,通常使用长期...

    LeetCode前400题Java精美版

    7. **Reverse Integer** (Easy): 反转一个整数。需要注意整数溢出的问题,可以使用数学方法避免。 8. **String to Integer (atoi)** (Medium): 将字符串转换为整数。需要处理各种边界情况,如前导空格、正负号、...

    leetcode2-Leetcode:Leetcode_answer

    Reverse Integer JavaScript O(n) O(1) Easy 9 Palindrome Number JavaScript O(n) O(1) Easy 19 Remove Nth Node From End of List JavaScript O(n) O(1) Medium 21 Merge Two Sorted Lists JavaScript O(n)

    字符串整数的余数leetcode-LeetCode-7-Reverse-An-Integer:我对LeetCode#7的解决方案

    字符串可能的余数LeetCode-7-Reverse-An-Integer 我对 LeetCode #7 的解决方案 我处理这个问题的目的是优化时间复杂度而不是空间复杂度。 因此,我避免了通用方法链接解决方案,在这种解决方案中,输入被转换为字符...

Global site tag (gtag.js) - Google Analytics