# 最长公共前缀
var arr = ['flow', 'fly', 'flower']
function getLongestPrefix(arr) {
if (!arr || arr.length === 0) return ''
let firstIndex = 0; // 首字符的索引index
let firstStr = arr[0]; // 首字符
while(firstIndex < firstStr.length) { // 遍历首字符
// 比较首字符串的值和其他字符串同索引的值
for (let i = 0; i < arr.length; i++) {
if (firstStr[firstIndex] != arr[i][firstIndex]) { // 不匹配
return firstStr.substr(0, firstIndex); // 返回结果
}
}
firstIndex ++;
}
return firstStr.substr(0, firstIndex);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21