From a99870279f55130b2130f7a16f04d0ac5b219352 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 9 Aug 2020 16:47:21 +0800 Subject: Add problem 66 . --- cpp/66.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 cpp/66.cpp (limited to 'cpp/66.cpp') diff --git a/cpp/66.cpp b/cpp/66.cpp new file mode 100644 index 0000000..40ce008 --- /dev/null +++ b/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