• Multiply Strings,字符串相乘


    问题描述:给定两个字符串,返回他们的乘积。

    public class MultiplyStrings 
    {
    	public String multiply(String num1, String num2) 
    	{
    		String n1 = new StringBuilder(num1).reverse().toString();
    		String n2 = new StringBuilder(num2).reverse().toString();
    		 
    	    int[] d = new int[num1.length()+num2.length()];
    	 
    	    //multiply each digit and sum at the corresponding positions
    	    for(int i=0; i<n1.length(); i++){
    	        for(int j=0; j<n2.length(); j++){
    	            d[i+j] += (n1.charAt(i)-'0') * (n2.charAt(j)-'0');
    	        }
    	    }
    	 
    	    StringBuilder sb = new StringBuilder();
    	 
    	    //calculate each digit
    	    for(int i=0; i<d.length; i++)
    	    {
    	        int mod = d[i]%10;
    	        int carry = d[i]/10;
    	        if(i+1<d.length)
    	        {
    	            d[i+1] += carry;
    	        }
    	        sb.insert(0, mod);
    	    }
    	 
    	    //remove front 0's
    	    while(sb.charAt(0) == '0' && sb.length()> 1){
    	        sb.deleteCharAt(0);
    	    }
    	 
    	    return sb.toString();
    	}
    }
    
  • 相关阅读:
    eclipse工具
    Tag
    JSP模版
    Eclipse断点调试
    JavaBean
    验证码设计
    在IE中提示404错误
    序列化与反序列化
    文件编码问题
    强类型,弱类型和推断类型
  • 原文地址:https://www.cnblogs.com/masterlibin/p/5742348.html
Copyright © 2020-2023  润新知