2220. Minimum Bit Flips to Convert Number #
题目 #
一次 位翻转 定义为将数字 x
二进制位中的一个位进行 翻转 操作,即将 0
变成 1
,或者将 1
变成 0
。
给定两个整数 start
和 goal
,返回将 start
转变为 goal
的 最少位翻转 次数。
思路 #
代码 #
class Solution {
public int minBitFlips(int start, int goal) {
int xor = start ^ goal;
int hammingDistance = 0;
for (int i = 31; i >= 0; i--) {
if (((xor >> i) & 1) == 1) hammingDistance += 1;
}
return hammingDistance;
}
}