public class LeetCode {
/**
* 给定两个字符串数字(超出long的范围),算出两数相加的和。
* 思路:
* 1. 先比较两字符串的长度,小的在前面补0,
* 2. char与int的互换 char c = i + '0', int i = c - '0'
*/
public String towBigNumberAdd(String v1, String v2) {
public String twoBigNumAdd (String v1, String v2){
int len1 = v1.length();
int len2 = v2.length();
// 补齐v2的前面为 '0';
String temp = "0";
if (len1 > len2) {
for (int i = 0; i < len1 - len2 - 1; i++) {
temp += "0";
}
v2 = temp + v2;
} else if (len1 < len2) {
for (int i = 0; i < len2 - len1 - 1; i++) {
temp += "0";
}
v1 = temp + v1;
}
int carray = 0;
char[] array = new char[v1.length() + 1];
for (int i = v1.length() - 1; i >= 0; i--) {
int n1 = v1.charAt(i) - '0';
int n2 = v2.charAt(i) - '0';
int sum = n1 + n2 + carray;
array[i + 1] = (char) (sum % 10 + '0');
carray = (sum) / 10;
}
if (carray != 0) {
array[0] = (char) (carray + '0');
return new String(array);
} else {
return new String(array, 1, array.length - 1);
}
}
}
}
两个大数相加
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...