기록 3 - 숫자 반전
문제: 32 비트 의 기호 비트 정 수 를 제시 하고 정 수 를 뒤 집 습 니 다.(정수 저장 범 위 는 [- 231, 231 - 1] 에 있 습 니 다. 뒤 집 힌 정수 가 넘 치면 0 으로 돌아 갑 니 다) 예: input: 123, output: 321 input: - 123, ouput: 321 input: 120, output: 21 사고: 이 문 제 를 풀 때 오랫동안 스 택 을 사용 할 생각 을 하지 못 했 습 니 다. 자신의 데이터 구 조 는 정말 헛 된 것 을 발 견 했 습 니 다.반전 문제 와 관련 하여 가장 먼저 생각해 야 할 것 은 창고 로 해결 하 는 것 이다.정수 형식 을 String 형식 으로 바 꾸 면 연결 이 잘 됩 니 다.과정 에서 기호의 문 제 를 고려 해 야 한다. 문 자 를 스 택 에 들 어 갈 때 다음 첫 번 째 가 '-' 인지 먼저 판단 해 야 한다. 만약 그렇다면 기 호 는 스 택 에 들 어가 지 말 아야 한다.다음은 코드:
class Solution {
public int reverse(int x) {
String input = String.valueOf(x);
Stack s = new Stack(); //java
for(int i = 0;i(Math.pow(2.0,31)-1)){
return 0;
}
else if(input.charAt(0)=='-')
return -Integer.parseInt(output);
else
return Integer.parseInt(output);
}
}
시간 복잡 도: O (s. length (), 공간 복잡 도 O (s. length ();스 택 으로 숫자 반전 문 제 를 해결 하 는 것 은 좋 은 해결 방법 이지 만 숫자 반전 에 대해 서 는 더욱 간결 하고 편리 한 방법 이 있 으 며 숫자 를 문자열 로 바 꾸 지 않 아 도 된다.
//pop ,
pop = number % 10;
number /= 10;
//
rev = rev * 10 + pop;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.