Leetcode 66 Plus One STL
题意让大数加1
我的做法是先让个位+1,再倒置digits,然后进位,最后倒置digits,得到答案。
1 class Solution { 2 public: 3 vector<int> plusOne(vector<int> &digits) { 4 digits[digits.size() -1]++; //个位+1 5 reverse(digits.begin(),digits.end());//倒置digits 6 for(vector<int>::size_type i = 0; i < digits.size() - 1; ++i){//除了最高位,进位 7 if(digits[i] >= 10){ 8 digits[i] -= 10; 9 digits[i+1] ++; 10 } 11 } 12 if(digits[digits.size() - 1] >= 10){//最高位进位 13 digits[digits.size() - 1] -= 10; 14 digits.push_back(1); 15 } 16 reverse(digits.begin(),digits.end());//倒置digits 17 return digits; 18 } 19 };