Given two non-negative integers, num1 and num2 represented as string, return the sum of num1 and num2 as a string. You must solve the problem without using any built-in library for handling large integers (such as BigInteger). You must also not convert the inputs to integers directly.
Example 1
Input: num1 = 456, num2 = 77
Output: 533
Explanation: Adding digit by digit from the right: 6 + 7 = 13 (write 3, carry 1), 5 + 7 + 1 = 13 (write 3, carry 1), 4 + 1 = 5. The result is "533".
Example 2
Input: num1 = 11, num2 = 123
Output: 134
Explanation: Aligning on the right: 1 + 3 = 4, 1 + 2 = 3, and the leftover 1 is copied down, giving "134".
Example 3
Input: num1 = 0, num2 = 0
Output: 0
Explanation: 0 + 0 = 0, so the result is "0".
Add from the least significant digit, carrying overflow to the next column — exactly how you add by hand.
Run checks all cases above. Submit evaluates all test cases.