题解 | #牛群的编码反转#

牛群的编码反转

https://www.nowcoder.com/practice/fbbef1b8d84b45a49f95ebf63a3b353b?tpId=354&tqId=10595604&ru=/exam/oj/ta&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D354

一、知识点:

二进制运算

二、文字分析:

使用一个循环来逐位反转二进制数。使用左移和右移操作符来移动位,并使用位与操作符和位或操作符来获取每个位的值并设置到反转后的二进制数中。

时间复杂度是O(1),空间复杂度也是O(1)。

三、编程语言:

java

四、正确代码:

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param n int整型
     * @return int整型
     */
    public int reverseBits (int n) {
        // write code here
        int reversedNum = 0;

        for (int i = 0; i < 32; i++) {
            reversedNum <<= 1;  // 向左移动一位
            reversedNum |= (n &
                            1);  // 将当前最低位的值设置为reversedNum的最低位
            n >>= 1;  // 向右移动一位
        }

        return reversedNum;

    }
}

全部评论

相关推荐

北漂的牛马人:211佬,包进的,可能是系统问题
点赞 评论 收藏
分享
面了这么多场试,总有公司总喜欢压力面一个小时面试+手撕,哪里不会就点哪里,说了不会不会还继续追着问不尊重求职者,稍微有些细节记不清了,就开始怀疑项目真实性以及人格让求职者开摄像头但是自己不开,说话声音还贼小,pardon几次就开始不耐烦的不知道这个算不算,手撕的时候,面试官人跑了。。。最后快结束才来
一纸丿繁华丶:你换位思考一下,自己在职场被领导push麻了,身心俱疲,现在有个机会让你放松一下,体验一把上位者的感觉,还能看着那些高学历人才、未来自己的竞争者,抓耳挠腮、手足无措的样子,没给你当场笑出来就不错了,理解一下面试官吧。
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务