博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 476. 数字的补数
阅读量:2058 次
发布时间:2019-04-29

本文共 515 字,大约阅读时间需要 1 分钟。

题目

给你一个 正 整数 num ,输出它的补数。补数是对该数的二进制表示取反。 示例 1:输入:num = 5输出:2解释:5 的二进制表示为 101(没有前导零位),其补数为 010。所以你需要输出 2 。示例 2:输入:num = 1输出:0解释:1 的二进制表示为 1(没有前导零位),其补数为 0。所以你需要输出 0 。 提示:给定的整数 num 保证在 32 位带符号整数的范围内。num >= 1你可以假定二进制数不包含前导零位。

解题思路

位运算

异或运算的性质:a^ b=c 可以推出 a^c=b

代码

class Solution {
public int findComplement(int num) {
int n=num; int t=0;//记录二进制有多少位 // String str = ""; while(n!=0){
// str = n%2+str; n = n/2; t++; } return num ^ (int)(Math.pow(2,t)-1); }}

转载地址:http://czxlf.baihongyu.com/

你可能感兴趣的文章
第一次kaggle比赛 回顾篇
查看>>
leetcode 50. Pow(x, n)
查看>>
leetcode 130. Surrounded Regions
查看>>
【托业】【全真题库】TEST2-语法题
查看>>
博客文格式优化
查看>>
【托业】【新托业全真模拟】疑难语法题知识点总结(01~05)
查看>>
【SQL】group by 和order by 的区别。
查看>>
【Python】详解Python多线程Selenium跨浏览器测试
查看>>
Jmeter之参数化
查看>>
Shell 和Python的区别。
查看>>
Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
查看>>
Loadrunner之https协议录制回放报错如何解决?(九)
查看>>
python中xrange和range的异同
查看>>
列表、元组、集合、字典
查看>>
【Python】easygui小甲鱼
查看>>
【Python】关于Python多线程的一篇文章转载
查看>>
【Pyton】【小甲鱼】文件
查看>>
【Pyton】【小甲鱼】永久存储:腌制一缸美味的泡菜
查看>>
【Pyton】【小甲鱼】异常处理:你不可能总是对的
查看>>
APP性能测试工具
查看>>