Leetcode每日一题-190.颠倒二进制位

颠倒二进制位

题目链接
分析见代码注释

代码

func reverseBits(num uint32) uint32 {
    
    
	// 定义返回值类型,赋初值为0
	var ret uint32
	ret = 0
	// uint32,循环32次拿到每一位
	for i := 0; i < 32; i++ {
    
    
		// 将ret左移1位
		ret <<= 1
		// 如果当前num末位为1,那么ret+1
		if num&1 == 1 {
    
    
			ret += 1
		}
		// num右移1位
		num >>= 1
	}
	return ret
}

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38557583/article/details/115293152