最长公共前缀

Bernie


Bernie
最长公共前缀
思路:
- 用 first 指向 strs 的第一个元素
- 用 len1 指向 first 的长度
- 用 i 遍历 first 的每一个字符
- 用 letter 指向 first 的第 i 个字符
- 用 j 遍历 strs 的每一个元素
- 用 current 指向 strs 的第 j 个元素
- 如果 i 大于等于 current 的长度或者 letter 不等于 current 的第 i 个字符, 则返回 first 的前 i 个字符
- 返回 first
typescript 解法
function longestCommonPrefix(strs: string[]): string {
if (strs.length === 1) {
return strs[0];
}
const first = strs[0];
const len1 = first.length;
for (let i = 0; i < len1; i++) {
const letter = first.charAt(i);
for (let j = 0; j < strs.length; j++) {
const current = strs[j];
if (i >= current.length || letter != current.charAt(i)) {
return first.substring(0, i);
}
}
}
return first;
}
go 解法
func longestCommonPrefix(strs []string) string {
if len(strs) == 1 {
return strs[0]
}
first := strs[0]
len1 := len(first)
for i := 0; i < len1; i ++ {
letter := string(first[i])
for j := 1; j < len(strs); j ++ {
current := strs[j]
if i >= len(current) || letter != string(current[i]) {
return first[:i]
}
}
}
return first
}