标签:int 多少 leetcode return 移位 个数 color 思路 直接
int findComplement(int num) { int move=num; mo|=move>>1; mo|=move>>2; mo|=move>>4; mo|=move>>8; mo|=move>>16; mo|=move>>32; return num^move; }
提交后时间很尴尬,12ms,不确定这个int是多少位的所以直接给了个32位。
说下思路,一个数与它有效位全为1的数异或就能得到它的补数。所以得到全为1数是个关键,从有效位最高位向后一直移位就能得到全为1的数,按照int位向后移位就好了。
标签:int 多少 leetcode return 移位 个数 color 思路 直接
原文地址:https://www.cnblogs.com/biubiuWham/p/10113451.html