陣列學習4——leedcode.66. 加一。整體思路沒問題,關鍵是如何將‘進1’放到陣列最開頭!!!
阿新 • • 發佈:2018-12-09
class Solution { public: vector<int> plusOne(vector<int>& digits) { int flag=0; int len=digits.size(); while(digits[0]==0) { digits[0]++; return digits; } digits[len-1]++; for(int i=len-1;i>=0;i--) { digits[i] +=flag; flag=0; if(digits[i]==10) { flag=1; digits[i]=0; } } if(flag==1) {
//這個還是沒有搞懂,這個的確是把vector的大小改了,但是是把一個0加在最後了,digits[0]=0把之前的數給覆蓋了,但是卻通過了leedcode? digits.resize(digits.size() + 1); digits[0] = 1; } return digits; } };