Leetcode PHP题解--D24 476. Number Complement

476. Number Complement

题目链接

476. Number Complement

题目分析

给定一个数字,将他转换成二进制后,将0和1对调过来,把对调后的二进制再转换成十进制。返回该数字即可。

思路

题目描述得已经很清楚了。

先用decbin转换成二进制,用str_replace把0和1对调过来。

要注意对调的时候,不能直接对调。需要先把0换成除1之外的其他字符,最后再把他替换过来。
因为str_replace会按顺序逐个替换。如果先把0替换成1,那么它在替换1的时候,会全替换成0。你就会得到全0的字符串。

替换完成之后,在用bindec转换成十进制即可。

最终代码

<?php
class Solution {
    function findComplement($num) {
        return bindec(str_replace([0,1,2],[2,0,1],decbin($num)));
    }
}

若觉得本文章对你有用,欢迎用爱发电资助。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,754评论 0 38
  • 我的一个朋友最近因为一些行为规范的事情,在公司吃了一个处分,不去面对自己,认识自己,哪些地方错了,要成长提升,而是...
    秋语姐姐阅读 3,674评论 0 8
  • 他是汉族,她是回族 她嫁给了别人,他死了。 他是死了, 可是在她心里长成了一株株的藤蔓。这些藤蔓缠绕着她心里的每寸...
    落在心上的尘阅读 3,122评论 3 0
  • 下图(逆光拍的效果)。出生成长在南方的我,特别离不开阳光,以前每天沐浴其中,没感觉到自己被幸福包围着。 直到去年1...
    爱莲说Alice阅读 2,870评论 0 1
  • 02-线性结构3 Reversing Linked List(25 分)Given a constant K an...
    我是阿喵酱阅读 1,796评论 0 1

友情链接更多精彩内容