📑 题目:28. 实现 strStr()

🚀 本题 LeetCode 传送门

题目大意

实现一个查找 substring 的函数。如果在母串中找到了子串,返回子串在母串中出现的下标,如果没有找到,返回 -1,如果子串是空串,则返回 0 。

解题思路

这一题比较简单,直接写即可。

代码

  1. package leetcode
  2. import ""strings""
  3. // 解法一
  4. func strStr(haystack string, needle string) int {
  5. for i := 0; ; i++ {
  6. for j := 0; ; j++ {
  7. if j == len(needle) {
  8. return i
  9. }
  10. if i+j == len(haystack) {
  11. return -1
  12. }
  13. if needle[j] != haystack[i+j] {
  14. break
  15. }
  16. }
  17. }
  18. }
  19. // 解法二
  20. func strStr1(haystack string, needle string) int {
  21. return strings.Index(haystack, needle)
  22. }