class Solution {
public:
string addBinary(string a, string b) {
int length1 = a.size();
int length2 = b.size();
int add = 0;
string out;
int i = 0;
if(length1>length2){
for(i=0;i<length2;i++){
if(a[length1-i-1]=='1'&&b[length2-i-1]=='1'){
if(add==1){
out = '1' + out;
}
else
out = '0' + out;
add = 1;
}
else if(a[length1-i-1]=='1'||b[length2-i-1]=='1'){
if(add==1){
add = 1;
out = '0' + out;
}
else{
add = 0;
out = '1' + out;
}
}
else{
if(add==1){
out = '1' + out;
}
else
out = '0' + out;
add = 0;
}
}
for(int j=i;j<length1;j++){
if(add==1){
if(a[length1-j-1]=='1'){
add = 1;
out = '0' + out;
}
else{
add = 0;
out = '1' + out;
}
}
else {
out = a[length1-j-1] + out;
}
}
}
else{
for(i=0;i<length1;i++){
if(a[length1-i-1]=='1'&&b[length2-i-1]=='1'){
if(add==1){
out = '1' + out;
}
else
out = '0' + out;
add = 1;
}
else if(a[length1-i-1]=='1'||b[length2-i-1]=='1'){
if(add==1){
add = 1;
out = '0' + out;
}
else{
add = 0;
out = '1' + out;
}
}
else{
if(add==1){
out = '1' + out;
}
else
out = '0' + out;
add = 0;
}
}
for(int j=i;j<length2;j++){
if(add==1){
if(b[length2-j-1]=='1'){
add = 1;
out = '0' + out;
}
else{
add = 0;
out = '1' + out;
}
}
else {
out = b[length2-j-1] + out;
}
}
}
if(add==1)
out = '1' + out;
return out;
}
};
Add Binary
最新推荐文章于 2022-04-09 11:43:16 发布