Multiply Strings

来源:互联网 发布:ds1302的编程控制 编辑:程序博客网 时间:2024/05/22 11:37
Given two numbers represented as strings, return multiplication of the numbers as a string.

Note: The numbers can be arbitrarily large and are non-negative.

代码:

class Solution {public:    string multiply(string num1, string num2) {std::string result;std::vector<int> data;int total = num1.size() + num2.size() + 1;data.resize(total, 0);for (std::size_t i=0; i<num1.size(); i++) {for (std::size_t j=0; j<num2.size(); j++) {data[i+j+1] += (num1[i]-'0') * (num2[j]-'0');}}for (int i=num1.size()+num2.size()-1; i>=0; i--) {if (data[i] >= 10) {data[i-1] += data[i] / 10;data[i] %= 10;}result.insert(result.begin(), data[i] + '0');}while (result.size() > 1 && result[0] == '0') {result = result.erase(0, 1);}return result;    }};


0 0
原创粉丝点击