这是一道leetcode的题目,下面是我写的程序,先求出两个二进制数之和,结果是十进制,将这个结果转化为二进制,可是提交之后不对,请大家帮我看一下啊问题出在哪里,非常感谢
class Solution {
public:
string addBinary(string a, string b) {
int m=a.size();int n=b.size();
int sum1=0;int sum2=0;
stack<int>s;
for(int i=m-1;i>=0;i--)
{
sum1+=a[m-1-i]*pow(2,i);
}
for(int j=n-1;j>=0;j--)
{
sum2+=a[n-1-j]*pow(2,j);
}
int sum=sum1+sum2;
while(sum!=0)
{
s.push(sum%2);
sum=sum/2;
}
string res="";
while(!s.empty())
{
res+=to_string(s.top());
s.pop();
}
return res;
}
};