额,可能是我的理解能力太差吧,我还是要解释一下。
例如 999, 那么传入的 vector 就是 9, 9, 9
那么加一之后,返回的就是 1, 0, 0, 0
vector<int> plusOne(vector<int>& digits) { ++*(digits.end() - 1); for (auto it = digits.rbegin(); it != digits.rend(); ++it){ if ((it + 1) != digits.rend() && *it == 10){ *it = 0; ++*(it + 1); } else if((it + 1) == digits.rend() && *it == 10){ *it = 0; } } if (digits.front() == 0){ digits.insert(digits.cbegin(), 1); } return digits; }
时间: 2024-10-01 14:12:20