message: Update multiply-strings.cpp
diff: // Space: O(m + n)
  class Solution {
  +public:
  + string multiply(string num1, string num2) {
  + string result(num1.size() + num2.size(), '0');
  + for (int i = num1.size() - 1; i >= 0; --i) {
  + for (int j = num2.size() - 1; j >= 0; --j) {
  + int sum = (num1[i] - '0') * (num2[j] - '0') + (result[i + j + 1] - '0');
  + result[i + j + 1] = sum % 10 + '0';
  + result[i + j] += sum / 10;
  + }
  + }
  + int pos = result.find_first_not_of('0');
  + if (pos != string::npos) {
  + return result.substr(pos);
  + }
  + return "0";
  + }
  +};
  +
  +// Time: O(m * n)
  +// Space: O(m + n)
  +class Solution2 {
  public:
  string multiply(string num1, string num2) {
  const auto char_to_int = [](const char c) { return c - '0'; };
  @@ -32,7 +53,7 @@ public:
  // Time: O(m * n)
  // Space: O(m + n)
  // Define a new BigInt class solution.
  -class Solution2 {
  +class Solution3 {
  public:
  string multiply(string num1, string num2) {
  return BigInt(num1) * BigInt(num2);
  