
要解决的问题?
["flower","flow","flight"] => "fl"
["dog","racecar","car"] => "" // 输入不存在公共前缀。
[] => "" //输入不存在公共前缀。
思路
- 首先分析特殊情况,数组为空直接return “”。
- 取出任意字符串strs[0]赋值给变量shortChart并与其他字符串做字符比较。
- 每次比较后获取公共字符串长度j,根据长度截取shortChart后重现赋值给shortChart,特殊情况,j长度为0,则return “”。
- 最终shortChart将在被截取到最小长度,也就是最长公共前缀长度
代码
var longestCommonPrefix = function(strs) {
if (strs.length === 0) {
return ""
}
let shortChart = strs[0];
for (let i = 1; i < strs.length; i++) {
for (let j = 0; j < strs[0].length && j < strs[i].length; j++) {
if(strs[0][j] !== strs[i][j]){
break
}
}
shortChart = shortChart.substr(0,j)
if(shortChart === ""){ return "" }
}
return shortChart
}