W********e 发帖数: 45 | 1 Leetcode上的一题。Add binary。
我的解法是弄一个string c,让a和b都从尾部往前加,相加结果一共就四种情况,0,1,
2,3.我都分别作了处理。carr代表进位。把每位都从后往前记录在结果c中,最后返回c。
可是出来一个run time error:
Run Status: Runtime Error
Last executed input
"0", "0"
到底哪错了?
class Solution {
public:
string addBinary(string a, string b) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int len,i,lenA=a.length(),lenB=b.length(),carr=0;
len = lenA>lenB? lenA:lenB;
string c =lenA>lenB ? a : b;
int digitA,digitB;
c.at(len)='\0';
for(i=len-1;i>=0;i--)
{
digitA = lenA==0? 0:(a.at(lenA-1) -'0');
digitB = lenB==0? 0:(b.at(lenB-1) -'0');
if(digitA+digitB+carr==0)
{
c[i] = '0';
carr=0;
}
else if(digitA+digitB+carr==1)
{
c[i] = '1';
carr=0;
}
else if(digitA+digitB+carr==2)
{
c[i] = '0';
carr=1;
}
else if(digitA+digitB+carr==3)
{
c[i] = '1';
carr=1;
}
if(lenA>0)
lenA--;
if(lenB>0)
lenB--;
}
return c;
}
}; | l*****a 发帖数: 14598 | 2 把程序扔到IDE里自己debug一下不好吗?
1,
回c。
【在 W********e 的大作中提到】 : Leetcode上的一题。Add binary。 : 我的解法是弄一个string c,让a和b都从尾部往前加,相加结果一共就四种情况,0,1, : 2,3.我都分别作了处理。carr代表进位。把每位都从后往前记录在结果c中,最后返回c。 : 可是出来一个run time error: : Run Status: Runtime Error : Last executed input : "0", "0" : 到底哪错了? : class Solution { : public:
| W********e 发帖数: 45 | 3
在公司,电脑没有哦!
【在 l*****a 的大作中提到】 : 把程序扔到IDE里自己debug一下不好吗? : : 1, : 回c。
| p*****p 发帖数: 379 | 4 c.at(len)='\0';
话说你公司电脑没有调试工具是什么情况
1,
回c。
【在 W********e 的大作中提到】 : Leetcode上的一题。Add binary。 : 我的解法是弄一个string c,让a和b都从尾部往前加,相加结果一共就四种情况,0,1, : 2,3.我都分别作了处理。carr代表进位。把每位都从后往前记录在结果c中,最后返回c。 : 可是出来一个run time error: : Run Status: Runtime Error : Last executed input : "0", "0" : 到底哪错了? : class Solution { : public:
| c********w 发帖数: 2438 | 5 LZ
这两个length相等呢?
就像给出的这个case | W********e 发帖数: 45 | 6
骑驴找马。没有调试工具的驴.....
【在 p*****p 的大作中提到】 : c.at(len)='\0'; : 话说你公司电脑没有调试工具是什么情况 : : 1, : 回c。
| W********e 发帖数: 45 | 7
相等的话,len不就等于b的lenB吗?还是不懂错哪了。
【在 c********w 的大作中提到】 : LZ : 这两个length相等呢? : 就像给出的这个case
| p*****p 发帖数: 379 | 8 把那句删掉就行了,string没有结束符
另外你没处理11+1之类的情况
【在 W********e 的大作中提到】 : : 相等的话,len不就等于b的lenB吗?还是不懂错哪了。
| W********e 发帖数: 45 | 9
哦,原来是这样,只要不出run time error我就能自己调试了,谢谢!
【在 p*****p 的大作中提到】 : 把那句删掉就行了,string没有结束符 : 另外你没处理11+1之类的情况
|
|