-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAdd Strings.cs
More file actions
31 lines (29 loc) · 833 Bytes
/
Add Strings.cs
File metadata and controls
31 lines (29 loc) · 833 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Solution {
public string AddStrings(string num1, string num2) {
if (num1 == null || num1.Length == 0) {
return num2;
}
if (num2 == null || num2.Length == 0) {
return num1;
}
var i = num1.Length - 1;
var j = num2.Length - 1;
var sb = new StringBuilder();
var carray = 0;
while (i >= 0 || j >= 0) {
var sum = carray;
if (i >= 0) {
sum += num1[i--] - '0';
}
if (j >= 0) {
sum += num2[j--] - '0';
}
carray = sum / 10;
sb.Insert(0, (char) (sum % 10 + '0'));
}
if (carray > 0) {
sb.Insert(0, (char) (carray + '0'));
}
return sb.ToString();
}
}