本文共 508 字,大约阅读时间需要 1 分钟。
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
class Solution {public: string addBinary(string a, string b) { int la = a.length(); int lb = b.length(); int shorter = la > lb ? (la - lb) : (lb - la); string s(shorter,'0'); if(la > lb) b = s + b; else a = s + a; int carry = 0; for(int i = a.length() - 1; i >= 0; --i) { int sum = a[i] - '0' + b[i] - '0' + carry; carry = sum >> 1; a[i] = sum % 2 + '0'; } if(carry) a = "1" + a; return a; }};
转载地址:http://telji.baihongyu.com/