Determine the number of bits required to flip if you want to convert integer n to integer m.
Have you met this question in a real interview?
Yes
Example
Given n =
31
(11111), m = 14
(01110), return 2
.
Note
Both n and m are 32-bit integers.
class Solution {
/**
*@param a, b: Two integer
*return: An integer
*/
public static int bitSwapRequired(int a, int b) {
// write your code here
int diff = a ^ b;
int count = 0;
while(diff != 0){
diff = diff & (diff-1);
count++;
}
return count;
}
};
No comments:
Post a Comment