43. Multiply Strings

来源:互联网 发布:苹果翻墙后用什么软件 编辑:程序博客网 时间:2024/04/29 17:25

Multiply Strings

Given two numbers represented as strings, return multiplication of the numbers as a string.
给俩个字符串的数字,计算想乘的结果

public class Solution {    public String multiply(String num1, String num2) {       int m = num1.length(), n = num2.length();        int[] pos = new int[m + n];        for(int i = m - 1; i >= 0; i--) {   //注意是减减,因为是字符串            for(int j = n - 1; j >= 0; j--) {                int mul = (num1.charAt(i) - '0') * (num2.charAt(j) - '0');  //主要按照乘法公式想                int p1 = i + j, p2 = i + j + 1;                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);//将计算出的pos的数组的数转换成字符串,if用来出去开头的0        // for(int i = 0; i < pos.length ; i++){        //     int p = pos[i];        //     if(!(sb.length() == 0 && p == 0)) sb.append(p); }         return sb.length() == 0 ? "0" : sb.toString();     }}
0 0
原创粉丝点击