본문 바로가기

Algorithm/자료구조

(C++) - LeetCode (easy) 190. Reverse Bits

반응형

https://leetcode.com/problems/reverse-bits/description/

 

Reverse Bits - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

bitmasking을 이용한 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

uint32_t ans, n의 32자리 bit를 확인할 piv를 선언 후 각각 0, 1로 초기화해줍니다.

📔 풀이과정

가장 오른쪽 bit부터검사하면서 &연산시 bit가 1이라면 ans의 가장 왼쪽부터 해당 값을 채워줍니다.


📕 Code

📔 C++

class Solution {
public:
    uint32_t reverseBits(uint32_t n) {
        uint32_t ans = 0, piv = 1;
        for(int i = 0; i < 32; i++) {
            if(n & piv) {
                ans |= 1 << (31-i);
            }
            piv <<= 1;
        }
        return ans;
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.