首页 > 其他 > 详细

leetcode——43. 字符串相乘

时间:2020-09-02 17:08:03      阅读:48      评论:0      收藏:0      [点我收藏+]
public String multiply(String num1, String num2) {
        if(num1.equals("0") || num2.equals("0")){
            return "0";
        }
        String res = "";
        if(num1.length()<num2.length()){
            String temp = num1;
            num1 = num2;
            num2 = temp;
        }
        for(int i = num2.length()-1;i>=0;i--){
            String str = multiply(num1,num2,i);
            res = add(res,str);
        }
        return res;
    }

    private String add(String res, String str) {
        if(res.equals("")) return str;
        int len1 = res.length();
        int len2 = str.length();
        int len = Math.max(len1,len2);
        if(len1<len){
            int x = len-len1;
            String t = "";
            for(int i = 0;i<x;i++){
                t += "0";
            }
            res = t + res;
        }else if(len2<len){
            int x = len-len2;
            String t = "";
            for(int i = 0;i<x;i++){
                t += "0";
            }
            str = t + str;
        }
        int cur = 0;
        String r = "";
        for(int i = len-1;i>=0;i--){
            int m = res.charAt(i)-‘0‘+str.charAt(i) - ‘0‘;
            r = (m+cur)%10 + r;
            cur = (m+cur)/10;
        }
        if(cur!=0){
            return cur + r;
        }
        return r;

    }

    private String multiply(String num1,String num2,int index){
        int cur = 0;
        String str = "";
        for(int i = num1.length()-1;i>=0;i--){
            int x = (num1.charAt(i)-‘0‘)*(num2.charAt(index)-‘0‘);
            str = (x+cur)%10 + str;
            cur = (x+cur)/10;
        }
        if(cur!=0){
            str =  cur+str;
        }
        for(int j = 0;j<num2.length()-index-1;j++){
            str += ‘0‘;
        }
        return str;
    }

技术分享图片

 

 ——2020.9.2

leetcode——43. 字符串相乘

原文:https://www.cnblogs.com/taoyuxin/p/13602375.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!