LeetCode-in-Go

14. Longest Common Prefix

Easy

Write a function to find the longest common prefix string amongst an array of strings.

If there is no common prefix, return an empty string "".

Example 1:

Input: strs = [“flower”,”flow”,”flight”]

Output: “fl”

Example 2:

Input: strs = [“dog”,”racecar”,”car”]

Output: “”

Explanation: There is no common prefix among the input strings.

Constraints:

Solution

func longestCommonPrefix(strs []string) string {
	if len(strs) < 1 {
		return ""
	}
	if len(strs) == 1 {
		return strs[0]
	}
	temp := strs[0]
	i := 1
	for temp != "" && i < len(strs) {
		if len(temp) > len(strs[i]) {
			temp = temp[:len(strs[i])]
		}
		cur := strs[i][:len(temp)]
		if cur != temp {
			temp = temp[:len(temp)-1]
		} else {
			i++
		}
	}
	return temp
}