[LeetCode, 리트코드] Reverse Integer
- 카테고리 없음
- 2018. 11. 20. 07:09
반응형
1. Problem
주어진 32bit 정수형 입력에 대하여 그 입력을 뒤집어서 출력하라. 단 연산 도중 생기는 오버플로우는 반환값을 0을 반환함으로써 처리한다.
Example 1:
Input: 123 Output: 321
Example 2:
Input: -123 Output: -321
Example 3:
Input: 120 Output: 21
2. Solution
String to Integer 문제와 거의 흡사하다. C++ reverse 사용법을 익히고 가자.
3. What I solved
class Solution { public: int reverse(int x) { if(x == 0) return 0; bool minus = false; if(x < 0){ minus = true; x = -x; } string xToStr = to_string(x); std::reverse(xToStr.begin(), xToStr.end()); int i=0; while(xToStr[i] == '0') ++i; xToStr = xToStr.substr(i); double ret = stod(xToStr); if(ret > numeric_limits::max()) return 0; return minus ? -stoi(xToStr) : stoi(xToStr); } };
4. Best Solution
위와 동일
반응형
이 글을 공유하기