郑州网站建设最好,广告学是热门还是冷门,所有代刷平台推广,好的外贸网站建设Problem: 190. 颠倒二进制位 文章目录 思路复杂度位运算分治法 思路
#x1f468;#x1f3eb; 参考题解 #xff1a;逻辑右移#xff08;符号位一起移动#xff0c;高位补零#xff09;
复杂度
时间复杂度: O ( log n ) O(\log{n}) O(logn)
空间… Problem: 190. 颠倒二进制位 文章目录 思路复杂度位运算分治法 思路
参考题解 逻辑右移符号位一起移动高位补零
复杂度
时间复杂度: O ( log n ) O(\log{n}) O(logn)
空间复杂度: O ( 1 ) O(1) O(1)
位运算分治法
public class Solution {
// private static final int M1 0x55555555; // 01010101010101010101010101010101private static final int M1 0B01010101010101010101010101010101; // 01010101010101010101010101010101private static final int M2 0x33333333; // 00110011001100110011001100110011private static final int M4 0x0f0f0f0f; // 00001111000011110000111100001111private static final int M8 0x00ff00ff; // 00000000111111110000000011111111public int reverseBits(int n){
// 逻辑右移符号位一起移动n n 1 M1 | (n M1) 1;// 交换相邻 1 个n n 2 M2 | (n M2) 2;// 交换相邻 2 个n n 4 M4 | (n M4) 4;// 交换相邻 4 个n n 8 M8 | (n M8) 8;// 交换相邻 8 个return n 16 | n 16;// 交换相邻的 16 个}
}