zoukankan      html  css  js  c++  java
  • 7. Reverse Integer

    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 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.



    牛人答案1:
    public int reverse(int x) { int result = 0; while (x != 0) { int tail = x % 10; int newResult = result * 10 + tail; if ((newResult - tail) / 10 != result) { return 0; } result = newResult; x = x / 10; } return result; }
    答案2:
    class Solution {
        public int reverse(int x) {
            int res = 0;
            
            while(x != 0){
                if(Math.abs(res) > Integer.MAX_VALUE / 10) return 0;
                res = res * 10 + x % 10;
                x /= 10;
            }
            return res;
        }
    }
    Python3:
    class Solution:
        def reverse(self, x: int) -> int:
            s = (x > 0) - (x < 0) # True - False = 1, False - True = -1
            r = int(str(x*s)[::-1]) #[::-1] means reverse. Firstly convert number to string and reverse, then cast back to int. While casting to integer, if there's prefix '0', the casting can still go through and cut '0'.
            return s*r * (r < 2**31)    #Number * True = Number * 1, * False = * 0

    https://stackoverflow.com/questions/509211/understanding-slice-notation

    Slice notation.


     
  • 相关阅读:
    Meterpreter
    CHM木马
    浅析ARP协议及ARP攻击
    python绝技 — 使用PyGeoIP关联IP地址和物理位置
    python虚拟环境virtualenv的安装与使用
    python调用nmap探测局域网设备
    提权
    Nexpose
    docker安装使用
    一些渗透测试练习环境介绍
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/10135245.html
Copyright © 2011-2022 走看看