领扣LintCode算法问题答案-1218. 补数
发布日期:2021-06-30 17:10:23 浏览次数:2 分类:技术文章

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

领扣LintCode算法问题答案-1218. 补数

目录

1218. 补数

描述

给定一个正整数,输出它的 补数 。补数是将原先数字的二进制表示按位取反,再换回十进制后得到的新数。

  • 给定的整数保证在32位有符号整数的范围内。
  • 假设一个正整数的二进制表示不包含前导零。

样例 1:

输入:5输出:2说明:5的二进制表示为101(不包含前导零),它的补数为010,因此你需要输出2。

样例 2:

输入:1输出:0说明:1的二进制表示为1(不包含前导零),它的补数为0,因此你需要输出0。

题解

public class Solution {
/** * @param num: an integer * @return: the complement number */ public int findComplement(int num) {
// Write your code here return num ^ ((Integer.highestOneBit(num) << 1) - 1); }}

鸣谢

非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。

欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。

转载地址:https://le-yi.blog.csdn.net/article/details/108899474 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:领扣LintCode算法问题答案-1219. 加热器
下一篇:领扣LintCode算法问题答案-1216. 最大的回文乘积

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年05月02日 09时48分04秒