

You're given a positive integer represented in the form of a singly linked-list of digits. The length of the number is 'n'.
Add 1 to the number, i.e., increment the given number by one.
The digits are stored such that the most significant digit is at the head of the linked list and the least significant digit is at the tail of the linked list.
Input: Initial Linked List: 1 -> 5 -> 2
Output: Modified Linked List: 1 -> 5 -> 3
Explanation: Initially the number is 152. After incrementing it by 1, the number becomes 153.
The first line contains an integer 'n', the length of the number / the length of the linked list.
The second line contains 'n' space separated integers denoting the digits of the number / the nodes of the linked list.
Print space - separated integers denoting the nodes of the output linked list.
You do not need to print anything. You're given the head of the linked list, return the head of the modified list.
3
1 5 2
1 5 3
Initially the number is 152. After incrementing it by 1, the number becomes 153.
2
9 9
1 0 0
Initially the number is 9. After incrementing it by 1, the number becomes 100. Please note that there were 2 nodes in the initial linked list, but there are three nodes in the sum linked list.
The expected time complexity is O('n').
1 <= 'n' <= 10^5
0 <= Node in linked list <= 9
There are no leading zeroes in the number.
Time Limit: 1 sec
Try to reach the last node of the linked list using recursion.
In this approach, we will use recursion to add 1 to the linked list. We can recursively reach the last node, add 1 to it and forward the carry to the previous node.
This solution does not require reversing the linked list.
The steps are as follows:
Node *addOne(Node *‘head’)
O(n), Where 'n' is the length of the number we're given in the form of a linked list.
We are traversing the entire list exactly once, making the time complexity asymptotic to the length of the linked list.
Hence the time complexity is O(n).
O(n), Where 'n' is the length of the number we're given in the form of a linked list.
We are solving the problem recursively, and there will be recursive states equal to the number of nodes.
Hence the space complexity is O(n).