标签:
Question:
Reverse bits of a given 32 bits unsigned integer.
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as00111001011110000010100101000000).
Follow up:
If this function is called many times, how would you optimize it?
1、题型分类:
2、思路:
3、时间复杂度:
4、代码:
public class Solution { // you need treat n as an unsigned value public int reverseBits(int n) { int i=0,result=0; while(i<32) { result=(result<<1)|(n&1); n=n>>1; i++; } return result; } }
注意加粗部分,先移位还是先或的区别!
5、优化:
6、扩展:
标签:
原文地址:http://www.cnblogs.com/maydow/p/4643733.html