algorithm/leetcode

[LeetCode] ReverseInteger

무대포 개발자 2020. 7. 11. 12:42
728x90
반응형

문제

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.

문제풀이

  • overflow 예외상황을 잘 체크 해야 함.

  • 시간복잡도 O(32 * 2) = O(상수)

    • digit 을 구하는게 최대 O(32).
    • reverse 하는게 최대 O(32)
  • 또 다른 방법으로 Integer 를 String 변환 후, 양 끝에서 시작해 교체하는 방법이 있음. O(n) 방식

왜 문제를 풀지 못했는가? 어떤 부분을 생각하지 못했는가?

  • Source