MST

星途 面试题库

面试题:Go中strings包如何使用高效算法查找字符串前缀

在Go语言的strings包中,假设你有一个长字符串和多个短字符串,需要快速判断长字符串是否以这些短字符串中的某一个为前缀,简述如何利用strings包中的函数高效实现,并给出示例代码。
41.0万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
  1. 利用strings.HasPrefix函数结合循环实现
    • strings.HasPrefix函数用于判断字符串是否以指定前缀开头。可以通过循环遍历多个短字符串,使用strings.HasPrefix逐一判断长字符串是否以该短字符串为前缀。
  2. 示例代码
package main

import (
    "fmt"
    "strings"
)

func main() {
    longStr := "hello world"
    shortStrs := []string{"hello", "goodbye", "world"}

    for _, shortStr := range shortStrs {
        if strings.HasPrefix(longStr, shortStr) {
            fmt.Printf("长字符串以短字符串 %s 为前缀\n", shortStr)
            return
        }
    }
    fmt.Println("长字符串不以任何给定的短字符串为前缀")
}