首页 > 代码库 > LeetCode——Multiply Strings
LeetCode——Multiply Strings
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.
原题链接:https://oj.leetcode.com/problems/multiply-strings/
按照乘法原理,从个位开始一位一位相乘相加。
public class MultiplyStrings { public static void main(String[] args) { String ret = new MultiplyStrings().multiply("12","12"); System.out.println(ret); } public String multiply(String num1, String num2) { if(num1 == null || num2 == null || num1.length() == 0 || num2.length() == 0) return ""; if(num1.charAt(0) == '0' || num2.charAt(0) == '0') return "0"; int num = 0; StringBuilder builder = new StringBuilder(); for(int i=num1.length() + num2.length();i>0;i--){ for(int j=Math.min(i-1,num1.length());j>0;j--){ if(i - j <= num2.length()) num += (int)(num1.charAt(j-1)-'0') * (int)(num2.charAt(i-1-j)-'0'); } if(i != 1 || num >0) builder.append(num%10); num /= 10; } return builder.reverse().toString(); } }
LeetCode——Multiply Strings
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。