반응형

https://leetcode.com/problems/reverse-integer/

 

Reverse Integer - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

64비트 정수와 오버플로우가 허용되지 않는 제약이 걸려있었습니다.

역순으로 뒤집어가면서 새로운 수를 추가하게 될 때 오버플로우가 발생하는지 확인해주었습니다.

 

class Solution {
public:
    const int MAX = 214748364;
    int reverse(int x) {
        if(x < -8463847412 || x > 7463847412) return 0;
        int result = 0;
        while(x) {
            int val = x % 10;
            if(result >= MAX && val >= 7 || result > MAX) return 0;
            if(result <= -MAX && val >= 8 || result < -MAX) return 0;
            result = result * 10 + val;
            x /= 10;
        }
        return result;
    }
};
반응형

'Algorithm' 카테고리의 다른 글

LeetCode 20 : Valid Parentheses  (0) 2022.03.13
LeetCode 8 : String to Integer (atoi)  (0) 2022.03.12
LeetCode 6 : Zigzag Conversion  (0) 2022.03.06
백준 15942 : Thinking Heap  (0) 2022.02.12
LeetCode 128 : Longest Consecutive Sequence  (0) 2022.02.06

+ Recent posts