leetcode 67 Add Binary
给定两个字符串,是二进制串,实现加法,返回也是二进制。
string addBinary(string a, string b) { int size = a.size()>b.size()?a.size():b.size(); string ret(size, 0); bool carry = false; int as = a.size(); int bs = b.size(); for (int i = 0; i < size; ++i) { char ac = as - i - 1 < 0?'0':a[as - i - 1]; char bc = bs - i - 1 < 0?'0':b[bs - i - 1]; char ans = ac - '0' + bc - '0' + carry; if (ans > 1) ret[size - i - 1] = ans + '0' - 2; else ret[size - i - 1] = ans + '0'; carry = ans > 1; } if (carry) ret.insert(ret.begin(), '1'); return ret; }
【本文章出自博客园willaty,转载请注明作者出处,误差欢迎指出~】