leedcode 字符串相乘

本文介绍了一种将两个字符串形式的数字转换为整数,进行乘法运算,并将结果再次转换为字符串的方法。通过逐位转换和数字拼接实现,适用于大数运算场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先将两个字符串转成数字,然后计算这两个数字之间的乘积,然后将乘积转成字符串。要注意在乘积转成字符串时要考虑字符的表示的范围大小,所以需要一位一位转换数字。先将数字转换到字符数组中,然后用join操作链接起来即可

class Solution(object):
    def multiply(self, num1, num2):
        """
        :type num1: str
        :type num2: str
        :rtype: str
        """
        num1_n = 0
        num2_n = 0
        for i in range(len(num1)):
            temp = int(num1[i])
            num1_n = num1_n * 10 + temp
        for j in range(len(num2)):
            temp = int(num2[j])
            num2_n = num2_n * 10 + temp
        result = num1_n * num2_n
        #print(num1_n, num2_n)
        s = []
        if result == 0:
            return '0'
        while result > 0:
            m1 = result % 10
            result = result // 10
            s.insert(0, str(m1))
        res = ''.join(s)
        return res

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值