Leetcode :: Reverse Integer

์ˆ‘์ˆ‘ยท2021๋…„ 5์›” 24์ผ
0

์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ชฉ๋ก ๋ณด๊ธฐ
92/122
post-thumbnail

Problem

Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1], then return 0.

Assume the environment does not allow you to store 64-bit integers (signed or unsigned).


Solution

class Solution:
    def reverse(self, x: int) -> int:
        if x < 0:
            x *= -1
            sign = -1
        else:
            sign = 1
        
        rev = 0
        while x != 0:
            x,rem = divmod(x,10)
            rev = rev * 10 + rem

        rev *= sign
        return rev if -2**31 <= rev < 2**31-1 else 0
            

Complexity

O(log10 n)

profile
ํˆด ๋งŒ๋“ค๊ธฐ ์ข‹์•„ํ•˜๋Š” ์‚ฝ์งˆ ์ „๋ฌธ(...) ์ฃผ๋‹ˆ์–ด ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€