mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-06 09:23:19 +08:00
添加 18 题
This commit is contained in:
13
leetcode/0258.Add-Digits/258. Add Digits.go
Normal file
13
leetcode/0258.Add-Digits/258. Add Digits.go
Normal file
@ -0,0 +1,13 @@
|
||||
package leetcode
|
||||
|
||||
func addDigits(num int) int {
|
||||
for num > 9 {
|
||||
cur := 0
|
||||
for num != 0 {
|
||||
cur += num % 10
|
||||
num /= 10
|
||||
}
|
||||
num = cur
|
||||
}
|
||||
return num
|
||||
}
|
52
leetcode/0258.Add-Digits/258. Add Digits_test.go
Normal file
52
leetcode/0258.Add-Digits/258. Add Digits_test.go
Normal file
@ -0,0 +1,52 @@
|
||||
package leetcode
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
type question258 struct {
|
||||
para258
|
||||
ans258
|
||||
}
|
||||
|
||||
// para 是参数
|
||||
// one 代表第一个参数
|
||||
type para258 struct {
|
||||
one int
|
||||
}
|
||||
|
||||
// ans 是答案
|
||||
// one 代表第一个答案
|
||||
type ans258 struct {
|
||||
one int
|
||||
}
|
||||
|
||||
func Test_Problem258(t *testing.T) {
|
||||
|
||||
qs := []question258{
|
||||
|
||||
question258{
|
||||
para258{38},
|
||||
ans258{2},
|
||||
},
|
||||
|
||||
question258{
|
||||
para258{88},
|
||||
ans258{7},
|
||||
},
|
||||
|
||||
question258{
|
||||
para258{96},
|
||||
ans258{6},
|
||||
},
|
||||
}
|
||||
|
||||
fmt.Printf("------------------------Leetcode Problem 258------------------------\n")
|
||||
|
||||
for _, q := range qs {
|
||||
_, p := q.ans258, q.para258
|
||||
fmt.Printf("【input】:%v 【output】:%v\n", p, addDigits(p.one))
|
||||
}
|
||||
fmt.Printf("\n\n\n")
|
||||
}
|
47
leetcode/0258.Add-Digits/README.md
Normal file
47
leetcode/0258.Add-Digits/README.md
Normal file
@ -0,0 +1,47 @@
|
||||
# [258. Add Digits](https://leetcode.com/problems/add-digits/)
|
||||
|
||||
|
||||
## 题目
|
||||
|
||||
Given a non-negative integer `num`, repeatedly add all its digits until the result has only one digit.
|
||||
|
||||
**Example**:
|
||||
|
||||
```
|
||||
Input: 38
|
||||
Output: 2
|
||||
Explanation: The process is like: 3 + 8 = 11, 1 + 1 = 2.
|
||||
Since 2 has only one digit, return it.
|
||||
```
|
||||
|
||||
**Follow up**: Could you do it without any loop/recursion in O(1) runtime?
|
||||
|
||||
## 题目大意
|
||||
|
||||
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。
|
||||
|
||||
|
||||
## 解题思路
|
||||
|
||||
- 给定一个非负整数,反复加各个位上的数,直到结果为一位数为止,最后输出这一位数。
|
||||
- 简单题。按照题意循环累加即可。
|
||||
|
||||
## 代码
|
||||
|
||||
```go
|
||||
|
||||
package leetcode
|
||||
|
||||
func addDigits(num int) int {
|
||||
for num > 9 {
|
||||
cur := 0
|
||||
for num != 0 {
|
||||
cur += num % 10
|
||||
num /= 10
|
||||
}
|
||||
num = cur
|
||||
}
|
||||
return num
|
||||
}
|
||||
|
||||
```
|
Reference in New Issue
Block a user