共计 348 个字符,预计需要花费 1 分钟才能阅读完成。
最长公共前缀
工夫复杂度:O(s)(s 为所有字符串的长度之和)
空间复杂度:O(1)
- 排除字符串数组为空
- 假如第一个字符串为最长公共前缀
- 遍历数组的其它字符串
- 将第一个字符串的字符逐个纵向匹配
-
遇到不匹配 / 遍历实现字符串则退出
var longestCommonPrefix = function(strs) {if(strs.length == 0) return ""; let ans = strs[0]; for(let i =1;i<strs.length;i++) { let j=0; for(;j<ans.length && j < strs[i].length;j++) {if(ans[j] != strs[i][j]) break; } ans = ans.substr(0, j); if(ans === "") return ans; } return ans; };
正文完