【LeetCode】43. 字符串相乘
LeetCode 字符串 43 相乘
2023-09-14 09:13:24 时间
1 题目
2 思想
其实就是计算大整数乘法,还是比较简单的是吧。我觉得主要问题在于要熟悉各种常用的api,比如字符串翻转, enumerate
的使用等等。
3 代码
class Solution:
def multiply(self, num1: str, num2: str) -> str:
num1 = "".join(reversed(num1))
num2 = "".join(reversed(num2))
# 将两者翻转
res = [] # 记录所有的和
base = 1
for idx,a in enumerate(num1):
flag = 0 # 进位
tmp = ""
for b in num2:
cur = int(a) * int(b) + flag
flag, remain = divmod(cur,10)
tmp=str(remain) + tmp
# print(a,b,flag,tmp)
if flag: # 如果有进位
tmp = str(flag) + tmp
res.append(int(tmp)*base)# 转为int
base *= 10
# 对res求和
return str(sum(res))
相关文章
- LeetCode每日一题-6:k个一组翻转链表
- ☆打卡算法☆LeetCode 207. 课程表 算法解析
- 上升下降字符串 | LeetCode
- leetcode之 两数之和 题目解答C/python
- ☆打卡算法☆LeetCode 198. 打家劫舍 算法解析
- Leetcode 题目870-优势洗牌(田忌赛马)
- 刷LeetCode链表之前你需要掌握的设置结点技巧C++
- LeetCode 344. 反转字符串
- LeetCode 14. 最长公共前缀
- LeetCode 66. 加一
- LeetCode 680. 验证回文字符串 Ⅱ
- leetcode二叉树的层次遍历_完全二叉树的中序序列
- JavaScript刷LeetCode拿offer-树的遍历
- LeetCode | 整数反转
- JavaScript刷LeetCode之模板技巧篇
- 前端工程师leetcode算法面试必备-二叉树的构造和遍历1
- LeetCode-347-前K个高频元素
- LeetCode每日一练:数组形式的整数加法
- LeetCode_1-两数之和