您的位置:首页 > 其它

leetcode Plus One

2015-03-02 10:10 302 查看
题目:https://oj.leetcode.com/problems/plus-one/

题意:一个用数组装着的大数,数组的每一个格子是一大数的每一位,问:加1之后,求返回的数组

思路:按照加法去做,注意最后有可能最高位进位会越界,要重新声明一个数组或者去改变原来的数组位置

据说这道题面试常用,因为可以扩展!!!

class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
if(digits.size() == 0)
return digits;
int jinwei = 1;
for(int i = digits.size()-1; i >=0 ; i--){
int digit = (jinwei + digits[i])%10;
jinwei = (jinwei + digits[i])/10;
digits[i] = digit;
if(jinwei == 0) return digits;
}
vector<int> digits2;
digits2.push_back(1);
for(int i= 0;i<digits.size();i++){
digits2.push_back(digits[i]);
}
return digits2;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: