【leetcode】【43】Multiply Strings
来源:互联网 发布:视觉传达设计网络培训 编辑:程序博客网 时间:2024/05/24 05:58
一、问题描述
Given two numbers represented as strings, return multiplication of the numbers as a string.
Note: The numbers can be arbitrarily large and are non-negative.
二、问题分析
参考的这里
Remember how we do multiplication?
Start from right to left, perform multiplication on every pair of digits, and add them together. Let's draw the process! From the following draft, we can immediately conclude:
`num1[i] * num2[j]` will be placed at indices `[i + j`, `i + j + 1]`
三、Java AC代码
public String multiply(String num1, String num2) {int len1 = num1.length();int len2 = num2.length();int[] pos = new int[len1+len2];for (int i = len1-1; i >= 0; i--) {for (int j = len2-1; j >= 0; j--) {int mul = (num1.charAt(i) - '0') * (num2.charAt(j) - '0');int p1 = i + j, p2 = i + j + 1;//p2 save the remainder, p1 save the carry int sum = mul + pos[p2]; pos[p1] += sum / 10; pos[p2] = (sum) % 10;}}StringBuilder sb = new StringBuilder();for(int p : pos) if(!(sb.length() == 0 && p == 0)) sb.append(p); return sb.length() == 0 ? "0" : sb.toString();}
0 0
- LeetCode(43) Multiply Strings
- [leetcode 43] Multiply Strings
- [LeetCode 43]Multiply Strings
- leetcode || 43、Multiply Strings
- leetcode-43 Multiply Strings
- Multiply Strings leetcode 43
- leetcode 43: Multiply Strings
- Leetcode 43 Multiply Strings
- leetcode 43 : Multiply Strings
- Leetcode #43 Multiply Strings
- leetcode 43: Multiply Strings
- LeetCode(43) Multiply Strings
- LeetCode-43 Multiply Strings
- Leetcode#43||Multiply Strings
- [Leetcode]#43 Multiply Strings
- leetcode-43 Multiply Strings
- leetcode 43:Multiply Strings
- 【leetcode 43】--------Multiply Strings
- 跳槽遇到背景调查,你可以这样做!
- 索引的十一种功能
- 挑战某企招聘编程,看看自己排第几
- JSP简单运行原理----------九大隐式对象和四大域对象
- CentOS 开发环境搭建
- 【leetcode】【43】Multiply Strings
- 【代码笔记】iOS-仿QQ空间,歌曲播放
- HDU 3452 最小割 (树形dp)
- Junit单元测试框架详解
- 新手在服务器上用IIS部署网站(建站)教程
- 深入理解C语言中的指针与数组之指针篇
- 学习AspectJ框架(一):AspectJ开发环境搭建与Hello World
- push xib 建的controller
- ViewPager1