1. 程式人生 > >Plus One - LeetCode

Plus One - LeetCode

數字 strong 時間 clas turn alt .cn 註意 復雜度

目錄

  • 題目鏈接
  • 註意點
  • 解法
  • 小結

題目鏈接

Plus One - LeetCode

註意點

  • 考慮開頭數字有進位的情況

解法

解法一:如果當前數字是9就變為0,否則就+1,並return。時間復雜度O(n)

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int i = digits.size()-1;
        while(i >= 0)
        {
            if(digits[i] == 9) digits[i] = 0;
            else
            {
                digits[i] += 1;
                return digits;
            }
            i--;
        }
        if (digits[0] == 0) digits.insert(digits.begin(), 1);
        return digits;
    }
};

技術分享圖片

小結

  • 鏈表是很常見的一種數據結構,要花點時間專門研究一下。

Plus One - LeetCode