[Leetcode]Add Binary

来源:互联网 发布:vs2010读取excel数据 编辑:程序博客网 时间:2024/06/06 17:04

Given two binary strings, return their sum (also a binary string).

For example,
a = "11"
b = "1"
Return "100".


class Solution {public:    /*algorithm        add it from the tail, plug carry        time O(max(m,n)) space O(max(m,n) + 1)    */    string addBinary(string a, string b) {            int m = a.size(),n = b.size();            string s;            int carry = 0,sum;            char c;            while(m > 0 || n > 0){                sum = carry;                if(m > 0)sum += a[--m] - '0';                if(n > 0)sum += b[--n] -'0';                c = sum%2 + '0';                carry = sum/2;                s.insert(0,1,c);            }            if(carry > 0)s.insert(0,1,'1');            return s;    }};


0 0
原创粉丝点击