LeetCode43-字符串相乘

Leetcode.43:(Python)给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 说明: num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9。 num1 和 num2 均不以零开头,除非是数字 0 本身。 不能使用任何标准库的大数类型(比如 BigInteger)或直接将输入转换为整数来处理。     鄙人真的是好久没有写博客了,惭愧惭愧,培训结束了,一直忙着找工作,拿到的offer不太满意,就自己加强学习,查漏补缺,每天也刷一刷le... 阅读详情

LeetCode43-字符串相乘

Leetcode / 力扣

43. 字符串相乘:

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。

注意: 不能使用任何内置的 BigInteger 库或直接将输入转换为整数。

示例 1:

输入: num1 = "2", num2 = "3"
输出: "6"

示例 2:

输入: num1 = "123", num2 = "456"
输出: "56088"

提示:

  • 1 <= num1.length, num2.length <= 200
  • num1 和 num2 只能由数字组成。
  • num1 和 num2 都不包含任何前导零,除了数字0本身。

解题思路1:

大数乘法模板题,直接用就行

class Solution {
    //大数乘法(要用到大数加法)
    string add(string a,string b)
    {
        string s;
        int len1,len2;
        len1=a.size()-1;
        len2=b.size()-1;
        int flag=0;
        while(len1>-1&&len2>-1)
        {
            int sum=flag+(a[len1--]-'0')+(b[len2--]-'0');
            s+=char ((sum)%10+'0');
            flag=sum/10;
        }
        while(len1>-1)
        {
            int sum=flag+(a[len1--]-'0');
            s+=char ((sum)%10+'0');
            flag=sum/10;
        }
        while(len2>-1)
        {
            int sum=flag+(b[len2--]-'0');
            s+=char ((sum)%10+'0');
            flag=sum/10;
        }
        if(flag)
            s+=char('0'+flag);
        int len=s.size()-1;
        while(len>-1)
        {
            if(s[len]!='0')
                break;
            s=s.substr(0,s.size()-1);
            len--;
        }
        for(int i=0;i<s.size()/2;i++)
        {
            char c=s[i];
            s[i]=s[s.size()-i-1];
            s[s.size()-i-1]=c;
        }
        if(s.size()==0)
            s+='0';
        return s;
    }
     
     
    string mul(string a,string b)//需要用到大数加
    {
        string s;
        int len1=a.size();
        int len2=b.size();
        for(int i=0;i<len2;++i)
        {
            int num=b[len2-i-1]-'0';
            int len=len1-1;
            int flag=0;
            string temp="";
            while(len>-1)
            {
                int sum=flag+(a[len--]-'0')*num;
                temp+=char ((sum)%10+'0');
                flag=sum/10;
            }
            if(flag)
                temp+=char('0'+flag);
            len=temp.size();
            for(int j=0;j<len/2;j++)
            {
                char c=temp[j];
                temp[j]=temp[len-j-1];
                temp[len-j-1]=c;
            }
            for(int j=0;j<i;++j)
                temp+='0';
            s=add(s,temp);
        }
        return s;
    }

public:
    string multiply(string num1, string num2) {
        return mul(num1,num2);
    }
};

解题思路2:

自己手动实现了一下,不用大数加法,用ans来表示结果,每次相乘最多为91,也就是两位,低位和高位,把这两位加到对应位置就行。
需要注意一直进位问题就行

class Solution {
public:
    string multiply(string num1, string num2) {
        int len1=num1.length(),len2=num2.length();
        if((len1==1&&num1[0]=='0') || (len2==1&&num2[0]=='0'))
            return "0";
        if(len1<len2) {
            swap(num1,num2);
            swap(len1,len2);
        }
        //cout<<"num1="<<num1<<endl;
        //cout<<"num2="<<num2<<endl;

        int ans[405]={0};
        for(int i=len2-1;i>=0;--i) {
            int x=num2[i]-'0';
            for(int j=len1-1;j>=0;--j) {
                int y=num1[j]-'0';
                int sum=x*y;        //最多81,加到ans上去
                int loc=(len2-i-1)+(len1-j-1);   //低位开始位置
                ans[loc]+=sum%10;
                while(ans[loc]>=10) {
                    ans[loc]%=10;
                    ans[loc+1]+=1;
                    ++loc;
                }
                loc=len2-i+(len1-j-1);   //高位开始位置
                ans[loc]+=sum/10;
                while(ans[loc]>=10) {
                    ans[loc]%=10;
                    ans[loc+1]+=1;
                    ++loc;
                }
            }
        }

        string ret="";
        bool flag=false;
        for(int i=402;i>=0;--i) {
            if(ans[i]>0)
                flag=true;
            if(flag) {
                char c=ans[i]+'0';
                ret+=c;
            }
        }
        return ret;
    }
};
【中等】力扣算法题解析LeetCode43:字符串相乘 本文介绍了如何在不使用内置大整数库的情况下,实现两个字符串形式的大整数乘法。算法通过模拟手工乘法过程,逐位相乘并处理进位,最终将结果转换为字符串。关键步骤包括初始化结果数组、双重循环逐位计算乘积、处理进位以及跳过前导零转换为字符串。该方法的时间复杂度为O(n²),空间复杂度为O(n),适用于大整数运算场景。 阅读详情

相关推荐

手把手教你用8位单片机IO口直接驱动WS2812灯带(附完整代码和避坑指南)

本文详细介绍了如何使用8位单片机IO口直接驱动WS2812灯带,包括硬件准备、时序生成、色彩引擎与特效算法的实现,以及调试技巧与性能优化。通过汇编语言优化和精确时序控制,实现高效的LED驱动和炫酷的彩虹灯效,适合嵌入式开发者和硬件爱好者参考。

weixin_42696271的博客 304

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。

43.字符串相乘 给定两个以字符串形式表示的非负整数 num1 和num2 ,返回 num1 和 num2 的乘积,他们的乘积也表示为字符串形式。 示例1: 输入:num1 = “2” , num2 = “3” 输出:“6” 示例2: 输入:num1 = “123” , num2 = “456” 输出:“56088” 说明: 1.num1 和 num2 的长度小于110. 2.num1 和 num...

qq_43655213的博客 4704

PSI5协议技术文档与驱动开发指南

• 供电与数据复用:ECU通过双绞线为传感器提供稳压(典型值5V-11V),同时检测线路电流变化实现数据传输。• 同步信号:ECU发送3.5V电压脉冲(上升沿触发传感器响应),用于时序同步。• 安全气囊:PSI5-P模式实现多碰撞传感器同步采样(响应时间<10ms)• CRC-3(3位):ASIL-B以上功能安全要求(如动力总成传感器)• 奇偶校验(1位):适用于低安全等级场景(如PSI5-P10P模式)• 典型应用:PSI5-P(并行总线)、PSI5-U(通用总线)

u012733413的博客 2867

【算法-Java】给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。

一、示例 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例 2: 输入: num1 = "123", num2 = "456" 输出: "56088" 二、说明 num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9。 num1 和 num2 均不以零开头,除非是数字 0 本身。 不能使用任何标准库的大数类型(比如 BigInteger)或直接将输入转换为整数来处理。 三、解题思路 对于比较小的数字,做运算可以直接使用编程语言提供

haohaoxuexiyai的博客 5132

RT_Thread Studio使用——USB虚拟串口(VCP)

RT_Thread Studio使用——USB虚拟串口(VCP)

weixin_44735205的博客 3373

开箱即用的Platform IO开发平台(包括Arduino,ESP8266,ESP32,STM32)

开箱即用的 Platform IO 离线开发环境,包含(ESP32,ESP32S2,ESP8266,Arduino,STM32)

qq_19703307的博客 755

leetcode 字符串相乘

字符串相乘 题目:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。注意:不能使用任何内置的 BigInteger 库或直接将输入转换为整数。 思路:如果 num1和 num2之一是 0,则直接将 0 作为结果返回即可。 如果num1和 num2都不是 0,则可以通过模拟「竖式乘法」的方法计算乘积。 从右往左遍历乘数,将乘数的每一位与被乘数相乘得到对应的结果,再将每次得到的结果累加,这里可以用上字符串相加的思路。需要注意

m0_61802230的博客 1085

educoder实训——计算几何形状的表面积与体积

educoder python实训

qq_41234663的博客 1230

LeetCode 力扣 43. 字符串相乘

题目描述(中等难度) 就是两个数相乘,输出结果,只不过数字很大很大,都是用 String 存储的。也就是传说中的大数相乘。 解法一 我们就模仿我们在纸上做乘法的过程写出一个算法。 个位乘个位,得出一个数,然后个位乘十位,全部乘完以后,就再用十位乘以各个位。然后百位乘以各个位,最后将每次得出的数相加。十位的结果要补 1 个 0 ,百位的结果要补两个 0 。相加的话我们可以直接用之前的大数相加。直...

wind_liang的博客 1157

第3.1.3章 机器人第三方库实战总结:ROS 2 入门实战及和ROS1的对比,打通机器人开发的任督二脉

本文针对机器人SLAM开发中第三方库的学习痛点,重点介绍ROS 2在SLAM中的应用。文章首先对比ROS 1与ROS 2的核心差异,梳理ROS 2知识图谱,包括节点、话题、服务等核心概念。通过实战项目演示如何构建激光SLAM节点,结合代码详解运行流程。最后给出学习建议,强调动手实践的重要性,帮助开发者快速掌握ROS 2在SLAM开发中的关键应用。

行知SLAM 179

团体程序设计天梯赛竞赛题--登顶题【L3-042 污染大亨】

登顶级 3 道题,每道题 30 分,满分为 90 分。

Pretty Boy Fox的博客 1361

力扣LeetCode #43 字符串相乘(Multiply)

- 题目描述 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 说明: num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9。 num1 和 num2 均不以零开头,除非是数字 0 本身。 不能使用任何标准库的大数类型(比如 BigInteger)或直接将输入转换为整数来处理。 来源:LeetCode - 示例 示例 1: 输入: num1 = “2”, num2 = “3” 输出: “6

weixin_49155948的博客 310

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

力扣(LeetCode) ——43.字符串相乘(C++)

给定两个非负整数字符串num1和num2,要求返回其乘积字符串。双重循环逐位计算乘积并处理进位、去除前导零等。最终代码展示了完整的C++实现过程,通过模拟竖式乘法的方式,将每位乘积结果存入数组并处理进位问题,最后将中间结果转换为字符串输出。

专注 C++ 后端开发与 Linux 系统编程,深耕 STL 原理、多线程、内存管理、网络编程与服务端开发。用通俗语言拆解晦涩知识点,持续输出高质量学习笔记、踩坑复盘与面试干货。 622

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

大整数相乘 leetcode 43. 字符串相乘

题目描述 有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。 输入描述: 空格分隔的两个字符串,代表输入的两个大整数 输出描述: 输入的乘积,用字符串表示 示例1 输入 72106547548473106236 982161082972751393 输出 70820244829634538040848656466105986748 思路 方法来源:...

Hunter的博客 812

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Leetcode_43. 字符串相乘

本文介绍了LeetCode字符串相乘问题的两种解法:暴力解法和模拟乘法。暴力解法因数据量大会超出整型范围而被否定。重点讲解了模拟乘法解法,通过逐位相乘并处理进位,使用反向迭代器从个位开始计算,最后通过字符串相加实现竖式乘法。文中提供了完整的C++代码实现,包括字符串相加辅助函数和主乘法函数,解决了大数相乘问题。

心动的那一刻,记忆便盛开了花 1156

Leetcode 43. 字符串相乘

Leetcode 43. 字符串相乘 字符串相乘 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = “2”, num2 = “3” 输出: “6” 示例 2: 输入: num1 = “123”, num2 = “456” 输出: “56088” 说明: num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9。 num1 和 num2 均不以零开头,除非是数字

EIUC_Thread的博客 219

leetcode 43 字符串相乘

本题实际上是考察,我们可以来求解问题,但是我们无需完全按照列竖式计算的流程(先进位再求和)进行模拟,我们可以,以示例2为例:左图为一般列竖式计算的流程(先进位再求和),右图为先求和再进位的流程,观察可知,二者计算结果相同,均正确。

2301_80296866的博客 715

LeetCode 43字符串相乘

LeetCode 43字符串相乘 题目简述:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 输入:num1 = “2”, num2 = “3” 输出:“6” 输入:num1 = “123”, num2 = “456” 输出:“56088” 说明 num1 和 num2 的长度小于 110。 num1 和 num2 只包含数字 0-9。 num1 和 num2 均不以零开头,除非是数字 0

XBlog 243

Leetcode 43. Multiply Strings 字符串相乘

Leetcode 43. Multiply Strings 字符串相乘 标签: Leetcode 题目地址: https://leetcode-cn.com/problems/multiply-strings/ 题目描述 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘...

CoderWangSon 326

Leetcode 43. 字符串相乘 C++

Leetcode 43. 字符串相乘 题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 测试样例 1. 输入: num1 = "2", num2 = "3" 输出: "6" 2. 输入: num1 = "123", num2 = "456" 输出: "56088" 说明 1.num1 和 num2 的长度小于110。 2.num1 和 num2 只包含数字 0-9。 3.num1 和 num2 均不以零开头,除非是数字

weixin_43750513的博客 279

LeetCode 力扣 43. 字符串相乘 multiply-strings

43. 字符串相乘 题目描述 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 样例 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例 2: 输入: num1 = "123", num2 = "456" 输出: "56088" 说明: num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9。 num1 和 num2 均不以零开头,除非是数字 0 本身。

motongxue的博客 354

力扣第43题“字符串相乘”

给定两个表示非负整数的字符串num1和num2,计算它们的乘积并以字符串形式返回。

weixin_48941116的博客 458

LeetCode 43. 字符串相乘

LeetCode 43. 字符串相乘 题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = “2”, num2 = “3” 输出: “6” 示例 2: 输入: num1 = “123”, num2 = “456” 输出: “56088” 说明: num1 和 num2 的长度小于11...

Ailecccc的博客 172

leetcode43. 字符串相乘

相乘,首先我们就知道了,这两个字符串转化成得数字有可能是0,如果==0,那么直接返回字符串0就行了,如果不为0,我们小学都学过乘法的竖式计算,我们可以先举个例,例如字符串123*字符串45,那么该如何做呢?首先我们肯定是得把字符串转化为数字,必须是一个一个字符的转化,因为题目要求不能直接转化,也不能使用大数相乘标准库,转化为数字后,就按照小学时我们给乘法排竖式的方式进行计算。我们可以看到题目是要求我们将两个字符串转化为。

2302_79795375的博客 368
上一篇: LeetCode42-接雨水
下一篇: LeetCode44-通配符匹配
baodream
博客等级 码龄10年 55粉丝 239原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值