Given two non-negative integers, num1 and num2 represented as strings, 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 and without converting the inputs to integers directly.
Example 1:
Input: num1 = "11", num2 = "123" Output: "134"
Example 2:
Input: num1 = "456", num2 = "77" Output: "533"
Constraints:
- 1 <= num1.length, num2.length <= 10^4
- num1 and num2 consist of only digits