Multiply Strings Input:"9", "9" Output:"1" Expected:"81"

来源:互联网 发布:上海医疗网络总监招聘 编辑:程序博客网 时间:2024/05/16 08:12

Multiply Strings


Input:"9", "9"Output:"1"Expected:"81"


public class Solution {    public String multiply(String num1, String num2) {                if (num1.equals("0") || num2.equals("0")) {            return "0";        }        else        {                    //change to array        StringBuilder sb1 = new StringBuilder(num1);        StringBuilder sb2 = new StringBuilder(num2);        num1 = sb1.reverse().toString();        num2 = sb2.reverse().toString();  //123 *456        /*1.creat A[m+n]        2.update A[m+n]        3.output string*///@@create array        int[] d = new int[num1.length() + num2.length()];        for (int i = 0;i < num1.length() ;i++ ) {            for (int j = 0;j < num2.length() ;j++ ) {                d[i+j] = ((int)(num1.charAt(i)) - (int)'0') * ((int)(num2.charAt(j)-(int)'0'));            }        }               //@@update d[]        int digit10 = 0;        for (int i = 0;i < d.length ; i++ ) {            d[i] = (d[i]+digit10)%10;            digit10 = d[i]/10;        }        //@@trimp 0        StringBuilder sb = new StringBuilder();        for (int i = d.length - 1 ;i > -1 ;i-- ) {            if (d[i] == 0) {                continue;            }            sb.append(d[i]);        }        return sb.toString();            }    }}








0 0