力扣面试150题--颠倒二进制位

Day 89

题目描述

思路

二进制的算法,将十进制转化为二进制,有一点需要注意,直接采取库函数转化为二进制再反转会出现问题(这也是为什么我要补0的原因),因为转化过去不满足32位的二进制,前面不会当作无符号而是当作有符号数,顶位会当作符号位自动补,导致反转得到的值不对。

java 复制代码
class Solution {
    public int reverseBits(int n) {
        StringBuilder res=new StringBuilder();
       int num=2;
       while(n!=0){
          res.append(n%2);
          n=n/2;
          num=num<<1;
       }
       while(res.length()<32) {
           res.append(0);
       }
       return Integer.parseInt(res.toString(),2);
    }
}
相关推荐
imuliuliang1 分钟前
可合并堆在多任务调度中的优势与实现技巧7
算法
学究天人1 分钟前
数学公理体系大全:Comprehensive Collection of Mathematical Axiom Systems(卷6)
网络·算法·数学建模·动态规划·几何学·图论·拓扑学
wabs6667 分钟前
关于动态规划【力扣72.编辑距离的思考】
算法·leetcode·动态规划
FREEDOM_X8 分钟前
Linux 多线程编程——总结
java·linux·运维·ubuntu
tmlx3I08117 分钟前
Tomcat的架构设计和启动过程详解
java·tomcat
weixin_4223293125 分钟前
AgentScope Java 项目入门 & Builder 深度解读
java·开发语言·人工智能
用户3332397688425 分钟前
我做了一个 RepoMind:让 AI 写架构前,先去看看真实开源项目
算法
shepherd12628 分钟前
一次把 Spring MVC 文件上传参数“查没了”的排查:multipart、Filter 与 request body 的连环坑
java·后端·spring·mvc
宠友信息38 分钟前
Spring Boot与异步审核构建仿小红书源码内容发布全流程
java·数据库·spring boot·redis·mysql·oracle·uni-app
chh56340 分钟前
C++--list
开发语言·数据结构·c++·学习·算法·list