mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-05 08:27:30 +08:00
规范格式
This commit is contained in:
25
leetcode/0028.Implement-strStr/28. Implement strStr().go
Normal file
25
leetcode/0028.Implement-strStr/28. Implement strStr().go
Normal file
@ -0,0 +1,25 @@
|
||||
package leetcode
|
||||
|
||||
import "strings"
|
||||
|
||||
// 解法一
|
||||
func strStr(haystack string, needle string) int {
|
||||
for i := 0; ; i++ {
|
||||
for j := 0; ; j++ {
|
||||
if j == len(needle) {
|
||||
return i
|
||||
}
|
||||
if i+j == len(haystack) {
|
||||
return -1
|
||||
}
|
||||
if needle[j] != haystack[i+j] {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 解法二
|
||||
func strStr1(haystack string, needle string) int {
|
||||
return strings.Index(haystack, needle)
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
package leetcode
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
type question28 struct {
|
||||
para28
|
||||
ans28
|
||||
}
|
||||
|
||||
// para 是参数
|
||||
// one 代表第一个参数
|
||||
type para28 struct {
|
||||
s string
|
||||
p string
|
||||
}
|
||||
|
||||
// ans 是答案
|
||||
// one 代表第一个答案
|
||||
type ans28 struct {
|
||||
one int
|
||||
}
|
||||
|
||||
func Test_Problem28(t *testing.T) {
|
||||
|
||||
qs := []question28{
|
||||
|
||||
question28{
|
||||
para28{"abab", "ab"},
|
||||
ans28{0},
|
||||
},
|
||||
|
||||
question28{
|
||||
para28{"hello", "ll"},
|
||||
ans28{2},
|
||||
},
|
||||
|
||||
question28{
|
||||
para28{"", "abc"},
|
||||
ans28{0},
|
||||
},
|
||||
|
||||
question28{
|
||||
para28{"abacbabc", "abc"},
|
||||
ans28{5},
|
||||
},
|
||||
|
||||
question28{
|
||||
para28{"abacbabc", "abcd"},
|
||||
ans28{-1},
|
||||
},
|
||||
|
||||
question28{
|
||||
para28{"abacbabc", ""},
|
||||
ans28{0},
|
||||
},
|
||||
}
|
||||
|
||||
fmt.Printf("------------------------Leetcode Problem 28------------------------\n")
|
||||
|
||||
for _, q := range qs {
|
||||
_, p := q.ans28, q.para28
|
||||
fmt.Printf("【input】:%v 【output】:%v\n", p, strStr(p.s, p.p))
|
||||
}
|
||||
fmt.Printf("\n\n\n")
|
||||
}
|
50
leetcode/0028.Implement-strStr/README.md
Normal file
50
leetcode/0028.Implement-strStr/README.md
Normal file
@ -0,0 +1,50 @@
|
||||
# [28. Implement strStr()](https://leetcode.com/problems/implement-strstr/)
|
||||
|
||||
## 题目
|
||||
|
||||
Implement strStr().
|
||||
|
||||
Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
|
||||
|
||||
|
||||
Example 1:
|
||||
|
||||
```c
|
||||
Input: haystack = "hello", needle = "ll"
|
||||
Output: 2
|
||||
```
|
||||
|
||||
Example 2:
|
||||
|
||||
```c
|
||||
Input: haystack = "aaaaa", needle = "bba"
|
||||
Output: -1
|
||||
```
|
||||
|
||||
Clarification:
|
||||
|
||||
What should we return when needle is an empty string? This is a great question to ask during an interview.
|
||||
|
||||
For the purpose of this problem, we will return 0 when needle is an empty string. This is consistent to C's strstr() and Java's indexOf().
|
||||
|
||||
## 题目大意
|
||||
|
||||
|
||||
实现一个查找 substring 的函数。如果在母串中找到了子串,返回子串在母串中出现的下标,如果没有找到,返回 -1,如果子串是空串,则返回 0 。
|
||||
|
||||
## 解题思路
|
||||
|
||||
这一题比较简单,直接写即可。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user