#Leetcode# 1009. Complement of Base 10 Integer
https://leetcode.com/problems/complement-of-base-10-integer/ ? Every non-negative integer? The?complement?of a binary representation?is the number in binary you get when changing every? For a given number? ? Example 1: Input: 5
Output: 2 Explanation: 5 is "101" in binary,with complement "010" in binary,which is 2 in base-10.
Example 2: Input: 7
Output: 0 Explanation: 7 is "111" in binary,with complement "000" in binary,which is 0 in base-10.
Example 3: Input: 10
Output: 5 Explanation: 10 is "1010" in binary,with complement "0101" in binary,which is 5 in base-10.
代码: class Solution { public: int bitwiseComplement(int N) { if(N == 0) return 1; vector<int> ans; while(N) { ans.push_back(!(N % 2)); N /= 2; } int sum = 0; for(int i = 0; i < ans.size() / 2; i ++) swap(ans[i],ans[ans.size() - i - 1]); for(int i = 0; i < ans.size(); i ++) sum += ans[i] * pow(2,ans.size() - 1 - i); return sum; } int pow(int a,int b) { int ans = 1; while(b) { if(b % 2) { ans *= a; b --; } else { a *= a; b /= 2; } } return ans; } }; 周末开始啦 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |