Leetcode#67: Add Binary

来源:互联网 发布:环球期货交易软件 编辑:程序博客网 时间:2024/06/05 10:17

题目描述:两个二进制数相加,求和

class Solution{public:    string addBinary(string a,string b)    {        string answer = "";        int la = a.length();        int lb = b.length();        if(la == 0)        {            return b;        }        if(lb == 0)        {            return a;        }        int lmax = max(la,lb);        //进位        char add = '0';        for(int i = 0; i < lmax; i++)        {            char ca = (la > i ? a[la - i - 1] : '0');            char cb = (lb > i ? b[lb - i - 1] : '0');            char sum = (ca == cb ? '0' : '1');            char ssum = (sum == add ? '0' : '1');            if((ca == '1' && cb == '1') || (sum == '1' && add == '1'))            {                add = '1';            }            else            {                add = '0';            }            answer = answer + ssum;        }        if(add == '1')        {            answer = answer + add;        }        reverse(answer.begin(),answer.end());        return answer;    }};
原创粉丝点击