From a6953cdcd908b65789c574393e62cb96f4720501 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 9 Aug 2020 16:47:21 +0800 Subject: import(solutions): Add problem 66 . --- works/solutions/cpp/66.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 works/solutions/cpp/66.cpp (limited to 'works/solutions/cpp/66.cpp') diff --git a/works/solutions/cpp/66.cpp b/works/solutions/cpp/66.cpp new file mode 100644 index 0000000..40ce008 --- /dev/null +++ b/works/solutions/cpp/66.cpp @@ -0,0 +1,34 @@ +#include + +using std::vector; + +class Solution +{ +public: + vector plusOne(vector &digits) + { + bool carry = true; + const auto end = digits.rend(); + for (auto iter = digits.rbegin(); carry && iter != end; ++iter) + { + auto &digit = *iter; + digit += 1; + if (digit == 10) + { + digit = 0; + carry = true; + } + else + { + carry = false; + } + } + + if (carry) + { + digits.insert(digits.cbegin(), 1); + } + + return digits; + } +}; -- cgit v1.2.3