#include <bits/stdc++.h>
using namespace std;
int main() {
string a, b;
string s = "";
cin >> a >> b;
int lena = a.length();
int lenb = b.length();
if (lena < lenb) {//如果b比a长,则交换a,b,保证a比b长
swap(a, b);
swap(lena, lenb);
}
for (int i = lena - 1, j = lenb - 1; i >= 0; i--, j--) {//从末尾(个位)开始计算
if (j < 0) {//b到头了,只挪a过去
s = a[i] + s;
} else {//按位做异或计算
if (a[i] == '1' && b[j] == '0' || a[i] == '0' && b[j] == '1') {
s = '1' + s;
} else {
s = '0' + s;
}
}
}
bool flag = 1;//前导零标志
for (int i = 0; i < s.length(); i++) {
if (s[i] == '0' && flag == 1) {//是前导零
continue;
} else {//不是前导零
cout << s[i];
flag = 0;//后续的0都不是前导零了
}
}
return 0;
}
评论区