1. 程式人生 > >Algorithm——最長公共前綴

Algorithm——最長公共前綴

for循環 i++ longest 如果 查找字符 空字符串 spa == comm

一、問題

編寫一個函數來查找字符串數組中的最長公共前綴。

如果不存在公共前綴,返回空字符串 ""

示例 1:

輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:

輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴。
說明:

所有輸入只包含小寫字母 a-z 。

二、解決

/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function(strs) {
    
var strArr = []; var result = ‘‘; for (let i = 0; i < strs.length; i++) { strArr.push(strs[i].length); } //獲取最小長度 var strMaxLengthArr = strArr.sort((a,b)=>a-b); //慎重提示:for循環裏用let,不用var!!! for (let m = 0; m < strMaxLengthArr[0]; m++) { for (let i = 0; i < strs.length; i++) {
if (strs[i+1] != undefined) { if(strs[i].charAt(m) == strs[i+1].charAt(m)) { //已經走到了strs參數的最後一個 if (i == strs.length-1-1) {result += strs[i].charAt(m);} } else { return result; } }
else { if (strs.length == 1) { result = strs[i]; } } } } return result; };

Algorithm——最長公共前綴