题解 | #最长公共前缀#

最长公共前缀

https://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param strs string字符串一维数组
 * @return string字符串
 */
func longestCommonPrefix(strs []string) string {
	// write code here
	if len(strs) == 0 {
		return ""
	}
	lcp := strs[0]
	for _, str := range strs[1:] {
		lcp = commonPrefix(lcp, str)
		if lcp == "" {
			break
		}
	}
	return lcp
}

func commonPrefix(str1, str2 string) string {
	minLen := min(len(str1), len(str2))
	for i := 0; i < minLen; i++ {
		if str1[i] != str2[i] {
			return str1[:i]
		}
	}
	return str1[:minLen]
}

func min(a, b int) int {
	if a < b {
		return a
	}
	return b
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务