版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BaiHuaXiu123/article/details/88258067
题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
思路
依次遍历字符串
Go语言实现
func longestCommonPrefix(strs []string) string {
if len(strs) == 0 {
return ""
}
if len(strs) == 1 {
return strs[0]
}
temp := strs[0]
res := ""
for i:=0;i<len(temp);i++ {
for j:=1;j<len(strs);j++ {
if i == len(strs[j]) || temp[i] != strs[j][i] {
return res
}
}
res += string(temp[i]);
}
return res
}
JavaScript语言实现
var longestCommonPrefix = function (strs) {
if (strs.length == 0) return "";
if (strs.length == 1) return strs[0];
var temp = strs[0];
var res = "";
for (let i = 0; i < temp.length; i++) {
for (let j = 1; j < strs.length; j++) {
if (temp[i] !== strs[j][i]) {
return res;
}
}
res += temp[i];
}
return res
}
Python语言实现
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if len(strs) == 0:
return ""
if len(strs) == 1:
return strs[0]
tmin = min(strs)
tmax = max(strs)
for i,c in enumerate(tmin):
if c != tmax[i]:
return tmin[:i]
return tmin
Rust语言实现
结果