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;
}
}