关闭

字符串相乘(算法)

213人阅读 评论(0) 收藏 举报
分类:

给出两个字符串表示的正整数,求其乘积,返回其乘积的字符串。


public string multiply(String num1,String num2)
{
	int len1 = num1.length ,len2 = num2.length ;
	int [] num = new int[len1 + len2];
	int n = num.length;
	for(int i = len1 - 1;i >= 0;i--)
		for(int j = len2 - 1; j >= 0; j--)
		{
			num[i + j + 1] += (num1.charAt(i) - '0' ) * (num2.charAt(j) - '0');
		}
	int carry = 0;
	for(int i = n - 1; i >= 0; i--)
	{
		num[i] += carry;
		carry = num[i] / 10;
		num[i] = num[i] % 10;
	}
	String result = "";
	boolean firstNonzero = false;
	for(int i = 0; i < n; i++)
	{
		if(!firstNonzero && num[i] == 0)
			continue;
		else
		{
			result += num[i];
			firstNonzero = true;
		}
	}
	if( result.equals("")) return "0";
	return result;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:22056次
    • 积分:1126
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:7篇
    • 译文:49篇
    • 评论:1条
    文章分类
    最新评论