Given two non-negative integers num1 and num2 represented as string, return the sum of num1 and num2.
1 注意题中num1和num2是以string形式储存的,所以在做运算的时候需要转换成ASCII,用ord()函数
2 题中num1和num2以string形式存储,若不能用build-in函数,则需要先把string转换成list,一位一位地算
3 运算的时候,从list的最高位开始算,代表数字的最低位
4 在最后的时候,得看看最高位有没有carry,如果有的话再向前进一位
5 由于input是字符串,计算的时候,转换成了数字,但是最后算完后,需要重新转换回去成字符串
6 两个string的长度可能不一样,所以做while循环的时候,可以结合list.pop(),把len(nums1)len(nums2)做为条件判断
7 在做按位取加法的时候,有用到ord(c)-ord('0'),因为用ord函数转换的时候是转成ascii值,比如0转换成了48,但是我们做加法的时候得减去一个ord('0')得到真正的十进制进行加法。比如9+8,ascii码是57+56,但我们得各自减去48(‘0’)再进行后面的操作
8 记得每次加的时候要把carry也加上
9 join([])里面这个中括号需要加上