这行有个小bug
**sumation = x + y + left_over
我猜你想这样做:
summation = int(x) + int(y) + left_over
另外,您可能忘记在addStrings() 中传递self。
def addStrings(self, num1, num2):
刚刚测试了你的解决方案,通过了 LeetCode:
class Solution(object):
def addStrings(self, num1, num2):
last = ""
left_over = 0
i = len(num1) - 1
j = len(num2) - 1
while (i >= 0) or (j >= 0):
x = 0
y = 0
if i >= 0:
x = num1[i]
if j >= 0:
y = num2[j]
summation = int(x) + int(y) + left_over
left_over = summation // 10
last = str(summation % 10) + last
i -= 1
j -= 1
if left_over > 0:
last = str(left_over) + last
return last
print(Solution().addStrings("100", "500"))
打印,
600
这也可以正常工作:
class Solution:
def addStrings(self, num1, num2):
length1, length2 = len(num1), len(num2)
reversed_num1, reversed_num2 = num1[::-1], num2[::-1]
max_length = max(length1, length2)
added_num = ''
carry = index = 0
while index < max_length or carry:
digit1 = int(reversed_num1[index]) if index < length1 else 0
digit2 = int(reversed_num2[index]) if index < length2 else 0
added_digit = (digit1 + digit2 + carry) % 10
carry = (digit1 + digit2 + carry) // 10
added_num += str(added_digit)
index += 1
return added_num[::-1]
这也是我使用的一个 Python 模板:
from typing import List
import collections
import itertools
import functools
import math
import string
import random
import bisect
import re
import operator
import heapq
import queue
from queue import PriorityQueue
from itertools import combinations, permutations
from functools import lru_cache
from collections import defaultdict
from collections import OrderedDict
from collections import deque
from collections import Counter
class Solution(object):
def addStrings(self, num1, num2):
last = ""
left_over = 0
i = len(num1) - 1
j = len(num2) - 1
while (i >= 0) or (j >= 0):
x = 0
y = 0
if i >= 0:
x = num1[i]
if j >= 0:
y = num2[j]
summation = int(x) + int(y) + left_over
left_over = summation // 10
last = str(summation % 10) + last
i -= 1
j -= 1
if left_over > 0:
last = str(left_over) + last
return last
print(Solution().addStrings("100", "500")) # 600
# print(Solution().()) #
# print(Solution().()) #
# print(Solution().()) #
# print(Solution().()) #
参考文献