Plus One
Given a number represented as an array of digits, plus one to the number.
分析
题目的意思是,给定一个数组表示(每一个元素表示一位)的整数,计算用它加1的结果.
eg, 1 2 3应该得出1 2 4 ,考虑到进位,3 4 9 就应该为3 5 0.
*最直观的做法是把已知数组转换为一个整数N,然后直接计算N+1,最后再把N+1转换为数组;
*但是这种方法比较复杂,比较容易出错,而且或许会溢出整数边界,我们考虑另一种方法。
*另一种方法,就是直接将每一位相加,到10就进位。需要注意的就是:
1、数组的低位表示的是数值的高位,数组的高位表示的是数值的地位
2、利用栈结构存取中间结果
3、由栈转为结果数组时,需要过滤高位0(这里不需要考虑结果就是0的情况,因为N+1 >= 1,不可能为0)
Code