반응형
https://leetcode.com/problems/reverse-bits/description/
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;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > 자료구조' 카테고리의 다른 글
(C++) - LeetCode (easy) 202. Happy Number (0) | 2022.12.30 |
---|---|
(C++) - LeetCode (easy) 191. Number of 1 Bits (0) | 2022.12.17 |
(C++) - LeetCode (easy) 169. Majority Element (0) | 2022.12.09 |
(C++) - LeetCode (easy) 160. Intersection of Two Linked Lists (0) | 2022.12.07 |
(C++) - LeetCode (easy) 145. Binary Tree Postorder Traversal (0) | 2022.12.06 |