Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크
주어진 32비트 부호 없는 정수의 역방향 비트입니다.
메모:
- Java와 같은 일부 언어에는 부호 없는 정수 유형이 없습니다. 이 경우 입력과 출력 모두 부호 있는 정수 유형으로 제공되므로 정수의 내부 이진 표현이 동일하므로 구현에 영향을 주지 않습니다. , 서명 여부에 관계없이.
- Java에서 컴파일러는 다음을 사용하여 부호 있는 정수를 나타냅니다. 2의 보수 표기법. 그러므로 실시예 2 위에서 입력은 부호 있는 정수를 나타냅니다.
-3
출력은 부호 있는 정수를 나타냅니다.-1073741825
.
예시 1:
입력: n = 00000010100101000001111010011100 산출: 964176192 (00111001011110000010100101000000) 설명: 입력 바이너리 문자열 00000010100101000001111010011100 부호 없는 정수 43261596을 나타내므로 이진 표현인 964176192를 반환합니다. 00111001011110000010100101000000.
예 2:
입력: n = 11111111111111111111111111111101 산출: 3221225471 (10111111111111111111111111111111) 설명: 입력 바이너리 문자열 11111111111111111111111111111101 부호 없는 정수 4294967293을 나타내므로 이진 표현인 3221225471을 반환합니다. 10111111111111111111111111111111.
제약:
- 입력은 다음과 같아야 합니다. 이진 문자열 길이의
32
후속 조치: 이 함수가 여러 번 호출된다면 어떻게 최적화하시겠습니까?
파이썬
클래스 솔루션 { 공개: uint32_t reverseBits(uint32_t n) { uint32_t ret = 0, power = 31; while (n != 0) { ret += (n & 1) << power; = 1; } 반환 } };