Leetcode 66 Plus One STL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 };

 

以上是关于Leetcode 66 Plus One STL的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode-66 Plus One

leetcode 66. Plus One

[LeetCode] 66. Plus One

[leetcode]66.Plus One

leetcode66 Plus One

[leetcode]66Plus One