[LeetCode] 0190. 역방향 비트

역방향 비트

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; } 반환 } };
				
			
ko_KR한국어