Appearance
最长公共前缀
简单
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入:strs = ["flower","flow","flight"]
输出:"fl"
示例 2:
输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。
提示:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i]
仅由小写英文字母组成
题解
使用了 .startsWith() 方法: 首先将数组中的第一个字符串作为初始的公共前缀 prefix。 然后,依次与后面的字符串进行比较,如果当前字符串不以 prefix 开头,则将 prefix 不断截取掉最后一个字符,直到当前字符串以 prefix 开头为止。 这样,最终的 prefix 就是最长公共前缀。 这个解决方案假设输入的数组中至少存在一个字符串,否则会返回空字符串
typescript
function longestCommonPrefix(strs) {
if (strs.length === 0) {
return "";
}
let prefix = strs[0];
for (let i = 1; i < strs.length; i++) {
while (!strs[i].startsWith(prefix)) {
prefix = prefix.slice(0, prefix.length - 1);
}
}
}