本文主要是介绍leetcode 1012. Complement of Base 10 Integer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
leetcode 1012. Complement of Base 10 Integer
题意:给你一个数,比如5,他的二进制是101,把三个数的每一个取反,得到010,返回2.
思路:简单模拟就好了。0的时候,记得返回1.
class Solution {
public:int bitwiseComplement(int N) {if(N==0) return 1;vector<int> num;while (N){if (N % 2 == 1)num.push_back(0);elsenum.push_back(1);N /= 2;}int ans = 0;int now = 1;for (int i = 0; i < num.size(); i++){ans += num[i] * now;now *= 2;}return ans;}
};
这篇关于leetcode 1012. Complement of Base 10 Integer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!