'Coding has over 700 languages', '67% of programming jobs arenâ€™t in the
technology industry', 'Coding is behind almost everything that is powered
by electricity'

Topics

You are given two non-negative numbers * 'num1'* and

The digits in the linked lists are stored in reverse order, i.e. starting from least significant digit (LSD) to the most significant digit (MSD), and each of their nodes contains a single digit.

Calculate the sum of the two numbers and return the head of the sum list.

```
Input:
'num1' : 1 -> 2 -> 3 -> NULL
'num2' : 4 -> 5 -> 6 -> NULL
Output: 5 -> 7 -> 9 -> NULL
Explanation: 'num1' represents the number 321 and 'num2' represents 654. Their sum is 975.
```

Detailed explanation

```
3
1 2 3
3
4 5 6
```

```
5 7 9
```

```
'num1' represents the number 321 and 'num2' represents 654. Their sum is 975.
```

```
2
0 1
1
0
```

```
0 1
```

```
'num1' represents 10 and 'num2' represents 0. Their sum is 10.
```

```
1
2
2
9 9
```

```
1 0 1
```

```
'num1' represents 2 and 'num2' represents 99. Their sum is 101.
```

```
The expected time complexity is O('m' + 'n').
```

```
1 <= 'm', 'n' <= 5 * 10^4
0 <= 'data' in any Linked List node <= 9
The numbers do not contain any leading zeros.
If the number is zero, then there is one node having 'data' = 0.
Time Limit: 1 sec
```