【leetcode】Add Binary

class Solution {
public:
    string addBinary(string a, string b) {
        // Note: The Solution object is instantiated only once and is reused by each test case.
        reverse(a.begin(),a.end());
        reverse(b.begin(),b.end());
        string ans="";
        int carry=0;
        int len=max(a.size(),b.size());
        for(int i=0;i<len;i++)
        {
            int ca=0;
            if(i<a.size())
                ca=a[i]-'0';
            int cb=0;
            if(i<b.size())
                cb=b[i]-'0';
            
            int sum=ca+cb+carry;
            ans+=sum%2+'0';//注意此處是+=,而不是ans[i]=
            carry=sum/2;
        }
        if(carry==1)
            ans+='1';
        reverse(ans.begin(),ans.end());
        return ans;
    }
};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章