通过万岁!!!
- 题目:给你一个数n,将这个数的32位二进制进行反转后,输出最终结果。
- 思路:我们首先定义一个ans,然后我们对这个数跟2的i次方也就是1<
- 技巧:位运算
java代码
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++) {
if ((n & (1 << i)) != 0) {
ans += (1 << (31 - i));
}
}
return ans;
}
}
- 总结:题目的关键是找到位中的1。



