当前位置:网站首页>【力扣】字符串相乘
【力扣】字符串相乘
2022-08-01 21:08:00 【Patrick star`】
题目:
给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
思路:

m位数*n位数的结果一定小于等于m+n位数
代码:
class Solution {
public:
string multiply(string num1, string num2)
{
if (num1 =="0" ||num2=="0")
{
return "0";
}
int end1 = num1.size() - 1;
int end2 = num2.size() - 1;
int indexLen = end1 + end2 + 2;
int* index = new int[indexLen];
int end = indexLen-1;
int cur = end;
for (int i = 0; i <indexLen; i++)
{
index[i] = -1;
}
while (end2 >= 0)
{
cur = end;
while (end1 >= 0)
{
int temp = (num2[end2] - '0') * (num1[end1] - '0');
if (index[cur] == -1)
{
index[cur] = temp;
}
else
{
index[cur] += temp;
}
if (index[cur] > 9)
{
int carry = index[cur] / 10;
index[cur] = index[cur]%10;
if (index[cur-1] == -1)
{
index[cur - 1] = carry;
}
else
{
index[cur - 1] += carry;
}
}
cur--;
end1--;
}
end1 = num1.size() - 1;
end2--;
end--;
}
string ret;
for (int i = 0; i < indexLen; i++)
{
if (index[i]!=-1)
{
ret += index[i] + '0';
}
}
delete[] index;
return ret;
}
};边栏推荐
猜你喜欢
随机推荐
响应式织梦模板美容整形类网站
Day33 LeetCode
360借条安全专家:陌生微信好友不要轻易加贷款推广多是诈骗
C专家编程 序
Telnet弱口令渗透测试
LeetCode·每日一题·1374.生成每种字符都是奇数个的字符串·模拟
Transplant MQTT source code to STM32F407 development board
通过这两个 hook 回顾 Set/Map 基础知识
Pytorch框架学习记录13——利用GPU训练
案例:MySQL主从复制与读写分离
Pytorch学习记录(八):生成对抗网络GAN
织梦模板加入php代码
C陷阱与缺陷 第8章 建议与答案 8.2 答案
2022牛客多校联赛第五场 题解
C pitfalls and pitfalls Chapter 7. Portability pitfalls 7.10 Free first, then realloc
C专家编程 第1章 C:穿越时空的迷雾 1.4 K&R C
对C语言结构体内存对齐的理解
JSD-2204-Knife4j框架-处理响应结果-Day07
tiup mirror grant
包含吲哚菁绿的多聚体白蛋白纳米球/载马钱子碱纳米粒的牛血清白蛋白微球的制备








