LeetCode66——Plus One(一个整数用数组存储,然后在末尾加1)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode66——Plus One(一个整数用数组存储,然后在末尾加1)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目:
參考解法:
class Solution { public:vector<int> plusOne(vector<int>& digits) {bool carry = true;for(int i=digits.size()-1; i >= 0 && carry; i--) {carry = (++digits[i]%=10) == 0;}if(carry) {digits.insert(digits.begin(), 1);}return digits;} };
分析:
這里注意循環(huán)條件,如果carry不為1,則說(shuō)明已經(jīng)沒有進(jìn)位,數(shù)字是怎樣的,就是怎樣的。
這里注意一下carry = (++digits[i]%=10) == 0;,判斷是否產(chǎn)生了進(jìn)位的方法。(這里適合于加1的情緒,其余的不適合),
比如加2,相應(yīng)的代碼如下:
class Solution { public:vector<int> plusTwo(vector<int>& digits) {int carry = 0;for(int i=digits.size()-1; i >= 0 || carry; i--) {digits[i]=digits[i]+((i==digits.size()-1)?2:0)+carry;carry=(digits[i]%10==0||digits[i]%10==1)?1:0;digits[i]=(digits[i]+((i==digits.size()-1)?2:0)+carry)%10;if(!carry)break;}if(carry) {digits.insert(digits.begin(), 1);}return digits;} };總結(jié)
以上是生活随笔為你收集整理的LeetCode66——Plus One(一个整数用数组存储,然后在末尾加1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 线性共轭梯度法python_基于Pyth
- 下一篇: 关于宗教的一些认识