leetcode | 190 비트 반전

32 비트 부호 진 정수가 주어 반전.

실시 예 1 :
입력 : 00000010100101000001111010011100
출력 : 00111001011110000010100101000000을
설명했다 00000010100101000001111010011100 입력 이진 스트링의 부호없는 정수 43,261,596,
00111001011110000010100101000000 이진 표현 되돌아가 964,176,192.

실시 예 2 :
입력 : 11111111111111111111111111111101
출력 : 10111111111111111111111111111111는
설명 : 입력 이진 스트링을 11111111111111111111111111111101 4,294,967,293 부호 정수를,
그것은 바이너리 표현으로 3,221,225,471 10101111110010110010011101101001을 반환되도록.

사고

O (n)은 시간 복잡도, 공간 복잡도는 O (1)이다.

코드

public class Solution {
    // you need treat n as an unsigned value
    public int reverseBits(int n) {
        int ans = 0;
        for(int i = 0; i < 32; i++) {
            int temp = (n>>i & 1);
            ans |= temp << (31 - i);
        }
        return ans;
    }
}

링크 : https://leetcode-cn.com/problems/reverse-bits

추천

출처www.cnblogs.com/ustca/p/12307699.html