## Wednesday, June 14, 2017

### Problem Statement

Given two non-negative integers `num1` and `num2` represented as string, return the sum of `num1` and `num2`.
Note:
1. The length of both `num1` and `num2` is < 5100.
2. Both `num1` and `num2` contains only digits `0-9`.
3. Both `num1` and `num2` does not contain any leading zero.
4. You must not use any built-in BigInteger library or convert the inputs to integer directly.

Example

```9 + 2=11
```

### Solution

• We need 3 variables x, y and carry (Needed if there  is a carry during addition).
• Stringbuilder is used to append the string
• We convert the string variable to integer and add all the varibles (x+y+carry%10)
• Reverse the string

```public static String Get(String num1,String num2)
{
StringBuilder sb= new StringBuilder();
int carry=0;
for(int i=num1.length()-1,j=num2.length()-1;i>=0||j>=0||carry ==1;i--,j--)
{
//Fetches the string which needs to be added. ```
```                        //This needed when carry=1
int x=i<0?0:num1.charAt(i)-'0';
int y=j<0?0:num2.charAt(j)-'0';
//Append the string varaible
sb.append((x+y+carry)%10);
//This variable is needed for carrying
carry=(x+y+carry)/10;
}

return sb.reverse().toString();

}
```