栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Leetcode 43. 字符串相乘

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Leetcode 43. 字符串相乘

题目传送地址: https://leetcode.cn/problems/multiply-strings/

解题思路:
比如1515的计算过程。 我们先算155=0075 15*10=0150;

代码如下:

  public static String multiply(String num1, String num2) {
  //处理特殊边界情况
        if("0".equals(num1)||"0".equals(num2)){
            return "0";
        }
        String[] strings = new String[num2.length()];
        for (int i = num2.length() - 1; i >= 0; i--) {
            char c = num2.charAt(i);
            int i2 = c - '0';
            int sum = 0;
            int carry = 0;
            StringBuilder stringBuilder = new StringBuilder();
            int j = 0;
            while (j < num2.length() - 1 - i) {
                stringBuilder.append(0);
                j++;
            }
            for (int n = num1.length() - 1; n >= 0; n--) {
                int i3 = num1.charAt(n) - '0';
                sum = i2 * i3+carry;
                carry = sum / 10;
                sum = sum % 10;
                stringBuilder.insert(0,sum);
            }
            if(carry!=0){
                stringBuilder.insert(0,carry);
            }
            while (stringBuilder.length() < num1.length() + num2.length()) {
                stringBuilder.insert(0, 0);
            }
            strings[num2.length() - 1 - i] = stringBuilder.toString();
        }
        int carry = 0;//进位
        StringBuilder result = new StringBuilder();
        for (int j = num1.length() + num2.length() - 1; j >= 0; j--) {
            int sum = 0;
            for (String str : strings) {
                int i = str.charAt(j) - '0';
                sum += i;
            }
            sum += carry;
            carry = sum / 10;
            sum = sum % 10;
            result.insert(0, sum);
        }
        //去掉前置0
        return result.toString().replaceAll("^(0+)", "");
    }
暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016954.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号