알고리즘 7 정수 반전
이 문 제 는 비교적 간단 한데, 유일한 난점 은 넘 치 는 것 이다.제목 에 조건 이 정 해 져 있 고 32 비트 의 기호 정수 만 저장 할 수 있 으 며 댓 글 에는 long 등 더 큰 값 으로 판단 을 저장 하 는 경우 가 많 습 니 다.어떤 것 은 이미 알 고 있 는 몇 가지 조건 을 직접 사 용 했 는데, 느낌 도 그다지 맞지 않 고, 통용 되 지 않 는 다.c + + 의 매크로 INT 사용 하기MAX 와 INT민 씨 도 별로 좋 지 않 아 요. 31 자리 나 30 자리 제한 이 라면 스스로 계산 해 야 해 요.int 의 최대 최소 값 을 스스로 계산 합 니 다.
class Solution {
public:
int reverse(int x) {
int ret = 0;
int maxint = (1<<31)-1;
int minint = 1 << 31;
while(x != 0)
{
int pop = x % 10;
x = x / 10;
if(ret > 0 && ret > maxint / 10 || (ret == maxint / 10 && pop > maxint % 10))
{
return 0;
}
else if(ret < 0 && ret < minint / 10 || (ret == minint / 10 && pop < minint % 10))
{
return 0;
}
ret = ret * 10 + pop;
}
return ret;
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.