http://oj.leetcode.com/problems/plus-one/
进位加法
#include <iostream> #include <vector> using namespace std; class Solution { public: vector<int> plusOne(vector<int> &digits) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. vector<int> ansVector; if(digits.empty()) return digits; vector<int>::iterator iter = digits.end()-1; while(iter!=digits.begin()) { if(*iter!=9) { *iter = *iter +1; return digits; } *iter = 0; iter--; } if(digits[0]!=9) { digits[0]+=1; return digits; } ansVector.push_back(1); for(int i = 0;i<digits.size();i++) ansVector.push_back(0); return ansVector; } }; int main() { Solution mySolution; vector<int> input; input.push_back(9); input.push_back(9); mySolution.plusOne(input); return 0; }