lintcode 181. 将整数A转换为B

it2022-05-09  73

如果要将整数n转换为m,需要改变多少个bit位?

样例 Example 1: Input: n = 31, m = 14 Output: 2

Explanation: (11111) -> (01110) there are two different bits.

Example 2: Input: n = 1, m = 7 Output: 2

Explanation: (001) -> (111) will change two bits.

注意事项 Both n and m are 32-bit integers.

class Solution { public: /** * @param a: An integer * @param b: An integer * @return: An integer */ int bitSwapRequired(int a, int b) { // write your code here int t = a^b;//异或得到t,然后判断t中有几个1 int flag = 1; int count = 0;//需要改变的bit数量 while(flag!=0){ if((t&flag)!= 0){ count++; } flag<<=1; } return count; } };```

最新回复(0)