日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

算法:字符串相乘

發布時間:2025/6/15 编程问答 8 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法:字符串相乘 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?題目描述

給定兩個以字符串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字符串形式。
示例:

輸入: num1 = "2", num2 = "3" 輸出: "6" 輸入: num1 = "123", num2 = "456" 輸出: "56088"

//字符串相乘//做加法 1234 * 567 func multiply(num1 string, num2 string) string {if num1 == "0" || num2 == "0" {return "0"}ans := "0"m, n := len(num1), len(num2)//遍歷字符串num2for i := n - 1; i >= 0; i-- {curr := ""//進位add := 0for j := n - 1; j > i; j-- {curr += "0"}//轉換為整數y := int(num2[i] - '0')//做乘法for j := m - 1; j >= 0; j-- {//轉換為整數x := int(num1[j] - '0')product := x * y + add//itoa 整形轉換為字符串//curr 為對應的每一位數curr = strconv.Itoa(product % 10) + curradd = product / 10}//處理最后一個進位for ; add != 0; add /= 10 {curr = strconv.Itoa(add % 10) + curr}ans = addStrings(ans, curr)}return ans }func addStrings(num1, num2 string) string {i, j := len(num1) - 1, len(num2) - 1add := 0ans := ""//add 也要判斷for ; i >= 0 || j >= 0 || add != 0; i, j = i - 1, j - 1 {x, y := 0, 0if i >= 0 {x = int(num1[i] - '0')}if j >= 0 {y = int(num2[j] - '0')}result := x + y + addans = strconv.Itoa(result % 10) + ansadd = result / 10}return ans }//做乘法 func multiply(num1 string, num2 string) string {if num1 == "0" || num2 == "0" {return "0"}m, n := len(num1), len(num2)ansArr := make([]int, m + n)for i := m - 1; i >= 0; i-- {x := int(num1[i]) - '0'for j := n - 1; j >= 0; j-- {y := int(num2[j] - '0')//相乘ansArr[i + j + 1] += x * y}}for i := m + n - 1; i > 0; i-- {ansArr[i - 1] += ansArr[i] / 10ansArr[i] %= 10}//存儲最終結果ans := ""idx := 0if ansArr[0] == 0 {idx = 1}for ; idx < m + n; idx++ {//整形轉換為字符串ans += strconv.Itoa(ansArr[idx])}return ans }

參考鏈接:https://leetcode-cn.com/problems/multiply-strings/solution/zi-fu-chuan-xiang-cheng-by-

總結

以上是生活随笔為你收集整理的算法:字符串相乘的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。