2220. Minimum Bit Flips to Convert Number

2220. Minimum Bit Flips to Convert Number #

题目 #

一次 位翻转 定义为将数字 x 二进制位中的一个位进行 翻转 操作,即将 0 变成 1,或者将 1 变成 0

给定两个整数 startgoal,返回将 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;
    }
}