[LeetCode] 43. Multiply Strings 字符串相乘
[LeetCode] 43. Multiply Strings 字符串相乘
#coding=utf8 def cal_str(str1, str2): num1_len = len(str1) num2_len = len(str2) #l1存较小的 l1 = '' l2 = '' if num1_len < num2_len: l1 = str1 l2 = str2 else: l1 = str2 l2 = str1 res = [0] * (num1_len + num2_len) for i in xrange(len(l1)-1, -1, -1): for j in xrange(len(l2)-1, -1, -1): tmp = int(l1[i]) * int(l2[j]) p = i + j q = i + j + 1 mult = tmp + res[q] res[i + j + 1] = mult % 10 res[i+j] += mult // 10 str_res = map(str, res) print ''.join(str_res).replace('0', '') if __name__ == '__main__': cal_str("12", "12")