一、题目
整数转换。编写一个函数,确定需要改变几个位才能将整数A转成整数B。
示例1:
输入: A = 29 (或者0b11101), B = 15(或者0b01111)
输出: 2
示例2:
输入: A = 1,B = 2
输出: 2
提示:
- A,B范围在[-2147483648, 2147483647]之间
二、Java 题解
过于简单,直接上代码了。
class Solution {
public int convertInteger(int A, int B) {
int ans = 0, AB = A ^ B;
while (AB != 0) {
if ((AB & 1) == 1) ans++;
AB >>>= 1;
}
return ans;
}
}
- 时间:0 ms,击败 100.00% 使用 Java 的用户
- 内存:37.04 MB,击败 75.23% 使用 Java 的用户