力扣面试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);
    }
}
相关推荐
zl9798992 分钟前
SpringBoot-数据访问之MyBatis与Redis
java·spring boot·spring
DuHz2 分钟前
基于MIMO FMCW雷达的二维角度分析多径抑制技术——论文阅读
论文阅读·物联网·算法·信息与通信·毫米波雷达
K_i13410 分钟前
Tomcat核心原理与运维实战指南
java·运维·tomcat
Dragon_D.27 分钟前
排序算法大全——插入排序
算法·排序算法·c·学习方法
重生之我是Java开发战士37 分钟前
【Java EE】快速上手Spring Boot
java·spring boot·java-ee
從南走到北37 分钟前
JAVA国际版一对一视频交友视频聊天系统源码支持H5 + APP
java·微信·微信小程序·小程序·音视频·交友
go__Ahead1 小时前
【Java-JMM】Happens-before原则
java
大数据张老师1 小时前
数据结构——红黑树
数据结构·算法·红黑树
pcm1235671 小时前
java中的单例模式
java·开发语言·单例模式
xxxxxxllllllshi1 小时前
【Elasticsearch查询DSL API完全指南:从入门到精通】
java·大数据·elasticsearch·搜索引擎·面试·全文检索·jenkins