[LeetCode] 43. Multiply Strings 字符串相乘 [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")

猜你喜欢

转载自www.cnblogs.com/TMatrix52/p/12901021.html