zoukankan      html  css  js  c++  java
  • Multiply Strings

    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:
        void multiply(string &num1,char digit,string &res,int pos)
        {
            int num1Size = num1.size();
            int c = 0;
            for(int i=num1Size-1;i>=0;i--){
                char tmp  = ((num1[i]-'0')*(digit-'0') + (res[pos]-'0') + c) % 10  + '0' ;
                c =  ((num1[i]-'0')*(digit-'0') + res[pos]-'0' +c ) / 10;
                res[pos] = tmp;
                pos--;
            }
            if(c!=0){
                res[pos] = c + '0';
            }
        }
        string multiply(string num1, string num2) {
            int num1Size = num1.size();
            int num2Size = num2.size();
            int len = num1Size+num2Size;
            string res(len,'0');
            int pos = len;
            for(int i=num2Size-1;i>=0;i--){
                multiply(num1,num2[i],res,--pos);
            }
            int i=0,k=0;
            while(i<len && res[i]=='0'){
                i++;
            }
            if(i==len){
                res="0";
            }else{
                res.erase(res.begin(),res.begin()+i);
            }
            return res;
        }
    };
  • 相关阅读:
    html中嵌入天气预报
    linux简单命令
    正则表达式基本语法
    jquery表单验证
    yaf函数方法及使用
    php函数
    yaf框架的特点
    mysql数据库
    php连数据库
    xml基础知识
  • 原文地址:https://www.cnblogs.com/zengzy/p/5002042.html
Copyright © 2011-2022 走看看