Write a function to find the longest common prefix string amongst an array of strings.優化
If there is no common prefix, return an empty string ""
.spa
Example 1:code
Input: ["flower","flow","flight"] Output: "fl"
Example 2:blog
Input: ["dog","racecar","car"] Output: "" Explanation: There is no common prefix among the input strings.
Note:內存
All given inputs are in lowercase letters a-z
.input
JAVASCRIPTstring
/** * @param {string[]} strs * @return {string} */ var longestCommonPrefix = function(strs) { if (!strs.length) return ''; if (strs.length == 1) return strs[0]; var minest = 0; for (var i = 0; i < strs.length - 1; i++) { minest = Math.min(strs[i].length, strs[i+1].length); } var index = 0, longest = 0; while(index < minest) { for (var i = 0; i < strs.length - 1; i++) { if (strs[i][index] !== strs[i+1][index]) { longest = index; i = strs.length - 1 index = minest } else { longest = index + 1; } } index++; } return strs[0].slice(0,longest); };
由於要追求低複雜度,因此這道題想了好久。原本蠻沮喪的,但看到運行速度第一次達到top11%,仍是小開心了一下~it
可是內存使用仍是比較多,因此還存在很大的優化空間。。。。io