Leetcode #14 最長公共前綴

題目描述:

编写一个函数来查找字符串数组中的最长公共前缀。

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

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"

示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

说明:

所有输入只包含小写字母 a-z 。

解法:

  1. 如果給的數組為空,那就直接回傳空字串
  2. 如果給的數組只有一組,那就直接回傳本身
  3. 如果給的數組有多個,那我們就拿第一組的每一個字串去跟其他數組的字串逐一比對,如果不同則不再進行後續判斷,直接返回結果。如果相同,則把這一輪比較相同的字串存起來。
/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function(strs) {
    let firstStrs = strs[0];
    let result = "";
    if(!strs.length){
       return result;
    }
    for (let i = 0; i < firstStrs.length; i++) {
        for (let j =  1; j < strs.length; j++) {
            if (firstStrs[i] != strs[j][i]){
               return result;
            }
        }
        result += firstStrs[i];
    }
    return result;
};

題目連結:https://leetcode-cn.com/problems/longest-common-prefix/description/

Digiprove sealCopyright secured by Digiprove © 2018
Tags :

發表迴響