写一个 Python 程序来解决:给出两个非负整数,num1和num2作为字符串,返回num1和num2的和作为字符串.您必须解决问题而不使用任何内置库来处理大整数 (如BigInteger).您也不应该直接将输入转换为整数.
Here is a possible solution:

```
def addStrings(num1: str, num2: str) -> str:
    i, j, carry = len(num1) - 1, len(num2) - 1, 0
    res = []
    while i >= 0 or j >= 0 or carry > 0:
        x = int(num1[i]) if i >= 0 else 0
        y = int(num2[j]) if j >= 0 else 0
        carry, digit = divmod(x + y + carry, 10)
        res.append(str(digit))
        i, j = i - 1, j - 1
    return ''.join(res[::-1])
```

This solution uses a two-pointer approach to scan the input strings from right to left, and computes the sum digit by digit, taking into account the carry from previous digits. The result is stored as a list of characters and then converted to a string. Note that we avoid converting the input strings to integers directly, which could lead to overflow errors for large inputs.