每天一道LeetCode-最长公共前缀

98 阅读1分钟

人生中刷的第四道算法题了,晚起做题

题目要求:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。

1653104450(1).png

我的思路:直接拿第一个字符串当作比较对象,对该字符串进行遍历,如果遍历下标对应字符串的字符与其他的字符串的字符相等,则将该相等字符存入结果

        /**
      * @param {string[]} strs
      * @return {string}
      */
        var longestCommonPrefix = function (strs) {
            const firstStr = strs[0]
            const res = []
            for (let i = 0; i < firstStr.length; i++) {
                let isSame = true
                for (let s = 1; s < strs.length; s++) {
                    if (firstStr[i] !== strs[s][i]) {
                        isSame = false
                        break
                    }
                }
                if (isSame) {
                    res.push(firstStr[i])
                } else break
            }
            return res.join("")
        };