leetcode[67] Plus One
题目:对一个用vector存的数字进行加1,然后返回加1后的值。
一次就在oj上通过了。
就是进位加上当前位如果大于9,那就当前位等于0;
随后进位还为1的话就是在数组前面插入一个1;
class Solution { public: vector<int> plusOne(vector<int> &digits) { int up = 1; int len = digits.size() - 1; while(len >= 0) { if (digits[len] + up > 9) { digits[len] = 0; } else { digits[len] += up; return digits; } len--; } digits.insert(digits.begin(), 1); return digits; } };
2015/03/29:
python:
class Solution: # @param digits, a list of integer digits # @return a list of integer digits def plusOne(self, digits): up = 1 length = len(digits) - 1 for i in range(len(digits)): digits[length-i] += up up = digits[length-i]/10 digits[length-i] %= 10 if up == 1: digits.insert(0, 1) return digits