Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 8d9f125

Browse filesBrowse files
Create 43. 字符串相乘.md
1 parent f334142 commit 8d9f125
Copy full SHA for 8d9f125

File tree

Expand file treeCollapse file tree

1 file changed

+63
-0
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+63
-0
lines changed

‎Simulation/43. 字符串相乘.md

Copy file name to clipboard
+63Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#### 43. 字符串相乘
2+
3+
难度:中等
4+
5+
---
6+
7+
给定两个以字符串形式表示的非负整数 `num1` 和 `num2`,返回 `num1` 和 `num2` 的乘积,它们的乘积也表示为字符串形式。
8+
9+
**注意:** 不能使用任何内置的 BigInteger 库或直接将输入转换为整数。
10+
11+
**示例 1:**
12+
13+
```
14+
输入: num1 = "2", num2 = "3"
15+
输出: "6"
16+
```
17+
18+
**示例 2:**
19+
20+
```
21+
输入: num1 = "123", num2 = "456"
22+
输出: "56088"
23+
```
24+
25+
**提示:**
26+
27+
* `1 <= num1.length, num2.length <= 200`
28+
* `num1` 和 `num2` 只能由数字组成。
29+
* `num1` 和 `num2` 都不包含任何前导零,除了数字0本身。
30+
31+
---
32+
33+
模拟:
34+
35+
```Java
36+
func multiply(num1 string, num2 string) string {
37+
if num1 == "0" || num2 == "0" {
38+
return "0"
39+
}
40+
m, n := len(num1), len(num2)
41+
array := make([]int, m+n) // 两数相乘,最大长度为 m+n
42+
for i := m - 1; i >= 0; i-- {
43+
temp1 := int(num1[i] - '0')
44+
for j := n - 1; j >= 0; j-- {
45+
temp2 := int(num2[j] - '0')
46+
array[i+j+1] += temp1 * temp2 // 存储的是乘积,没向前进位
47+
}
48+
}
49+
// 处理进位,i的进位位置在i-1位置
50+
for i := len(array) - 1; i > 0; i-- {
51+
array[i-1] += array[i] / 10
52+
array[i] %= 10
53+
}
54+
res := ""
55+
for i := range array {
56+
if i == 0 && array[i] == 0 { // 如果第0位为0,则需要处理
57+
continue
58+
}
59+
res += string(array[i] + '0')
60+
}
61+
return res
62+
}
63+
```

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.