题目

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

示例 1:

输入: num1 = “2”, num2 = “3”
输出: “6”
示例 2:

输入: num1 = “123”, num2 = “456”
输出: “56088”

解法 竖式运算

/*
1 2 3 4
1 2 3 41 1
1 1
*/
class Solution {public:string multiply(string num1, string num2) {int len1 = num1.length();int len2 = num2.length();int *result = new int[len1 + len2]; // 结果存储for(int i = 0 ; i < len1 + len2; i++)result[i] = 0;for(int i = 0; i < len1;i++){    for(int j = 0 ; j < len2;j++){int r1 = int(num1[len1 - i - 1] - '0');int r2 = int(num2[len2 - j - 1] - '0');// cout<<r1<<r2;int re = r1 * r2;int carry = re / 10;re = re % 10;result[len1 + len2 - i - j - 2]  += carry;result[len1 + len2 - i - j - 1] += re;}}//   cout<<"??"<<endl;for(int k = len1 + len2 - 1; k > 0 ;k--){if(result[k] >= 10)result[k - 1] += result[k] / 10;result[k] = result[k] % 10;}// cout<<"??"<<endl;string re_str;int k = 0;while( k < len1 + len2 && result[k] == 0 ){k++;cout<<k;}if(k == len1 + len2)return "0";for(; k < len1 + len2 ; k++){char c = char(result[k] + '0');re_str.push_back(c);}return re_str;}
};

leetcode 43.字符串相乘相关推荐

  1. leetcode -43 -字符串相乘 -java版

    文章目录 题目 代码 题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = &quo ...

  2. LeetCode 43. 字符串相乘【c++/java详细题解】

    目录 1.题目 2.思路 3.c++代码 4.java代码 1.题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. ...

  3. LeetCode 43字符串相乘44通配符匹配

    原创公众号:bigsai,回复进群加入力扣打卡群. 字符串相乘 题目描述: 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形 ...

  4. LeetCode 43. 字符串相乘(大数乘法)

    文章目录 1. 题目 2. 小学竖式乘法 2.1 普通版 2.2 优化版 1. 题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示 ...

  5. C++ ,leetcode 43. 字符串相乘 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式

    一.思路: 字符串逆序,然后遍历两个逆序后的字符串,然后对应的字符相乘,i+j等于它的位数. string multiply(string num1, string num2) {reverseStr ...

  6. LeetCode #43字符串相乘

    1.背景知识 1.1 String,StringBuffer,StringConstructor String类是不可变类.StringBuffer和StringConstructor是可变类,字符串 ...

  7. leetcode 43. 字符串相乘(Multiply Strings)

    目录 题目描述: 示例 1: 示例 2: 解法: 题目描述: 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1 ...

  8. 多写写 leetcode 43. 字符串相乘

    难度:中等 频次:55 题目: 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 注意:不能使用任何内置的 BigInt ...

  9. 【Day24】 LeetCode算法题 (注释详细+解题思路)[43. 字符串相乘 ] [1800. 最大升序子数组和]

    刷题打卡,第 二十四 天 题目一.43. 字符串相乘 题目二.1800. 最大升序子数组和 题目一.43. 字符串相乘 原题链接:43. 字符串相乘 题目描述: 给定两个以字符串形式表示的非负整数 n ...

最新文章

  1. mysql 0x80004005 unable to connect to any of the specified mysql hosts
  2. @Bean修饰的方法参数的注入方式
  3. Python Requests 简明教程
  4. 2017年哪些网络安全威胁不容忽视?
  5. python入门之玩转列表我的菜单_我的Python成长之路---第一天---Python基础(作业2:三级菜单)---2015年12月26日(雾霾)...
  6. mysql 数据库操作类_【数据库操作类】10个php操作数据库类下载
  7. [gtest][002] A quick start to build the Google C++ Testing project
  8. java list 交集_java两个List的交集,并集
  9. ubuntu 14.04 登录 界面 root
  10. 2018-12-28
  11. XDUOJ 1125 Judgement of Orz Pandas
  12. 通过IP地址获取地理位置信息
  13. 高斯过程回归(GPR)
  14. word毕业论文页眉设置自动添加章节标题并左右对齐
  15. c语言怎么做查询系统,c语言编辑查询系统,可实现增删改查
  16. JavaScript-作用域和作用链
  17. 空间分析方法在计算机上的应用,空间分析
  18. Smart-Link、Monitor-Link介绍与配置举例
  19. vim报错E45: ‘readonly‘ option is set (add ! to override)
  20. Hibernate_8_Person和IdCard实例_一对一关系:基于外键

热门文章

  1. 有关 -fPIC 选项的编译问题
  2. python实现jpeg压缩(rgb到YCbCr)
  3. 在文件夹里快速查找一个文件?快捷键?如果按文件的前缀开头查找呢?
  4. 华为名师揭秘编程界“网红”Python
  5. 机器学习笔记 - 特征分解
  6. Vue获取DOM元素并修改属性
  7. 彩色图像加密matlab算法,彩色图像文件认证加密算法
  8. RocketMQ如何实现消息轨迹:消息何时发送的?耗时多久?谁消费的?存在哪个broker了?
  9. mysql批量删除多条记录的sql语句_一次删除多条记录的sql语句
  10. JavaScript 沙箱模式