leetcode 字符串相乘

题目:给定两个以字符串形式表示的非负整数num1 和num2, 返回num1 和 num2 的成绩。他们的乘机也表示为字符串形式。
python 代码实现:

      	 def multiply(self,num1,num2):
      	 	" " "
      	 	:type num1:str
      	 	:type num2: str
      	 	:rtype: str
      	 	" " "
      	 	if num 1=="0" or num2=="0"
      	 		return "0"
      	 		result =[0 for i in range (len(num1)-1]
      	 		len_num2=len(num2)
      	 		num1=num1[::-1]
      	 		num2=num2[::-1]
      	 		carry=[0 for i in range(len(num1)+len(num2))]
      	 		for l2 in range(len_num2):
      	 			i=l2
      	 			result.append(0)
      	 			for n1 in num1:
      	 				if carry[i] !=0:
      	 					result[i}+=carry[i]
      	 					carry[i]=0
      	 				m=int(num2[l2])*int(n1)
      	 				if m>9:
      	 					carry[i+1]+=m//10
      	 				result[i]+=(m%10)
      	 				if result[i]>9:
      	 					carry[i+1]+=result[i]//10
      	 					result[i]=result[i]%10
      	 				i+=1
      	 		if carry[len(result)!=0:
      	 			result.append(carry[len(result)])
      	 			p=' '.join(str(i) for i in result)
      	 			p=p[::-1]
      	 			return p
      	 				

      	 					
      	 					
      	 					
      	 		
      	 	       	 	:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值