码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode 66 Plus One STL

时间:2016-03-02 23:25:29      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

题意让大数加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

标签:

原文地址:http://www.cnblogs.com/onlyac/p/5236666.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!