1 Star 0 Fork 0

唐梓迅/leetcode题解

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
.LeetCode 43 1.87 KB
一键复制 编辑 原始数据 按行查看 历史
唐梓迅 提交于 2022-08-11 22:38 +08:00 . 字符串相乘
class Solution {
public:
string add(string num1, string num2) {
int end1 = num1.size()-1;
int end2 = num2.size()-1;
int next = 0;
int val1 = 0;
int val2 = 0;
string ret;
while(end1>=0 || end2 >= 0)
{
if(end1 >= 0)
{
val1 = num1[end1--]-'0';
}
else
{
val1 = 0;
}
if(end2 >= 0)
{
val2 = num2[end2--]-'0';
}
else
{
val2 = 0;
}
int valRet = val1+val2+next;
if(valRet>9)
{
next = 1;
}
else
{
next = 0;
}
ret += (valRet%10+'0');
}
if(next == 1)
{
ret += '1';
}
reverse(ret.begin(),ret.end());
return ret;
}
string multi(string num1,char num){
string ans="0";
int n2=num-'0';
int j=0;
for(int i=num1.size()-1;i>=0;--i)
{
int n1=num1[i]-'0';
int temp=n1*n2;
string temps=to_string(temp);
for(int z=0;z<j;++z)
{
temps.push_back('0');
}
ans=add(ans,temps);
++j;
}
return ans;
}
string multiply(string num1, string num2) {
string ans;
int j=0;
if(num1=="0"||num2=="0")
return "0";
for(int i=num1.size()-1;i>=0;--i)
{
string temp=multi(num2, num1[i]);
for(int z=0;z<j;++z)
{
temp.push_back('0');
}
++j;
ans=add(ans, temp);
}
return ans;
}
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/Tang-CMer/leetcode-problem-solving.git
git@gitee.com:Tang-CMer/leetcode-problem-solving.git
Tang-CMer
leetcode-problem-solving
leetcode题解
master

搜索帮助