当s1[i] == s2[i]
和时,您的代码是错误的carry == 1
。
你应该调整你的代码有三个独立的情况下s==-1
,s==0
和s==1
,然后分支上的价值carry
每种情况中:
if s == -1: # 0-1
if carry == 0:
...
else:
...
elif s == 0: # 1-1 or 0-0
if carry == 0:
...
else:
...
else: # 1-0
if carry == 0:
...
else:
...