首页 > 其他 > 详细

Leetcode 66 Plus One STL

时间:2016-03-02 23:22:23      阅读:223      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!