(Java)LeetCode-43. Multiply Strings
来源:互联网 发布:免费杀毒软件 知乎 编辑:程序博客网 时间:2024/06/16 06:05
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.
- Converting the input string to integer is NOT allowed.
- You should NOT use internal library such as BigInteger.
这道题蛮简单的,算两个大数的乘法,模拟手算时的竖式计算即可,需要做MN次乘法和若干次加法,需要耐心~代码如下:
public class Solution { public String multiply(String num1, String num2) {int len1 = num1.length();int len2 = num2.length();if(num1.equals("0")|| num2.equals("0")) return "0";int len = len1 + len2-1;int carry = 0;int temp = 0, templeft = 0, tempright = 0;int sum = 0;Stack<Integer> st = new Stack<Integer>();for(int i = 1; i <= len; i++){for(int j = 1; j <= i; j++){if( i+1-j > len2 || j > len1){continue;}templeft = Integer.parseInt(num1.substring(len1-j, len1-j+1)); tempright = Integer.parseInt(num2.substring(len2-1-i+j, len2-i+j));temp = templeft * tempright;sum = temp + sum;}sum +=carry;st.push(sum % 10);carry = sum/10;sum = 0;}while(carry != 0){st.push(carry % 10);carry /= 10;}StringBuilder sb = new StringBuilder();while(!st.isEmpty()){sb.append(st.pop());}return sb.toString(); } }
0 0
- (Java)LeetCode-43. Multiply Strings
- [LeetCode-Java]43. Multiply Strings
- [leetcode]43. Multiply Strings@Java
- [Leetcode] Multiply Strings (Java)
- [LeetCode][Java] Multiply Strings
- LeetCode : Multiply Strings (java)
- leetcode:Multiply Strings(JAVA)
- Multiply Strings leetcode java
- [LeetCode]43.Multiply Strings
- LeetCode --- 43. Multiply Strings
- [Leetcode] 43. Multiply Strings
- [leetcode] 43.Multiply Strings
- 43. Multiply Strings LeetCode
- leetcode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- [leetcode] 43. Multiply Strings
- Elasticsearch(5)实践一-数据添加
- 3.自己动手写Java Web框架-MVC初体验
- 【Lua】LuaStudio写Hello World入门
- 第二章 java基础(操作符续一)
- 【Java并发编程】之二十三:并发新特性—信号量Semaphore(含代码)
- (Java)LeetCode-43. Multiply Strings
- 【Java并发编程】并发编程大合集
- Android中activity触摸操作dispatchTouchEvent
- The 36th ACM/ICPC Asia Regional Dalian Site 1006 Dave
- day14 Python Css对话框
- 第二章 java基础(操作符续二)
- 用C语言实现一个计算器
- 【Java TCP/IP Socket】Socket编程大合集
- PCL学习笔记