个人技术分享

1017. 负二进制转换


题目链接:1017. 负二进制转换

代码如下:

class Solution {
public:
    string baseNeg2(int n) 
    {
        if(n==0||n==1)  return to_string(n);
        string res;
        int k=1;
        while(n)
        {
            if(n%2==1)
            {
                res.push_back('1');
                n-=k;
            }
            else
            {
                res.push_back('0');
            }
            k*=-1;
            n/=2;
        }
        reverse(res.begin(),res.end());
        return res;
    }
};