您的位置:首页 > 其它

leetcode—Plus one

2013-08-27 11:54 309 查看
 

1.题目描述

[code]Given a number represented as an array of digits, plus one to the number.

[/code]



2.解法分析


不要被常规思路限制住,常规思路会遍历整个数组,然后设置进位,但是实际上只需要找到第一位不为9的数字即可,免去了加的必要。




[code]class Solution {


public:


vector<int> plusOne(vector<int> &digits) {


// Start typing your C/C++ solution below


// DO NOT write int main() function


if(digits.empty())return digits;


int len=digits.size();




int i=len-1;


while(i>=0)


{


    if(digits[i]==9)digits[i]=0;


    else{


digits[i]+=1;break;


}


    i--;


}




if(i<0)digits.insert(digits.begin(),1);




return digits;




}


};

[/code]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: