#include <iostream>
#include <algorithm>
#include "string"
#include "vector"
#include "stack"
using namespace std;
string addBinary(string a, string b)
{
if (a.empty() && b.empty())
return "";
int m = a.size(), n = b.size();
int carry = 0;
if (m < n)
a = string(n - m, '0') + a; //先让两个字符串同长(前位补0)
else
b = string(m - n, '0') + b;
for (int i = a.size() - 1; i >= 0; i--)
{
int sum = (a[i] - '0' + b[i] - '0' + carry);
a[i] = sum % 2 + '0';
carry = sum / 2;
}
if (carry ==1)
a = string(1, '1') + a;
return a;
}
int main()
{
addBinary("11","1");
system("pause");
return 0;
}