LeetCode偶爾一題 —— 14. 最長公共前綴

原題地址: https://leetcode-cn.com/probl...

題目描述

分析題目

對於這道題最直觀的感受就是:javascript

  • 找到第一個字符串 target
  • 進行按列的水平掃描

個人代碼以下:前端

/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function(strs) {
    if (!strs || !strs.length) {
        return ''
    }
    let target = strs[0]
    for (let i = 0; i < target.length; i++) {
        for (let j = 1; j < strs.length; j++) {
            if (strs[j][i] !== target[i]) {
                return i > 0 ? target.slice(0, i) : ''
            }
        }
    }
    return target
};
  • 時間複雜度:O(s)s = m + n(s就是總的字符串的長度)
  • 空間複雜度:O(1)

固然,這道題還有其餘解法,好比二分法、分治法,官方題解 已經寫得很是細緻了,這裏就不重複寫了。java

寫在最後

一直在 LeetCode 上刷題,以前還加入了組織,有興趣加入一塊兒學習的同窗能夠在下方留言或者關注個人微信公衆號「tony老師的前端補習班」並在後臺留言,能夠進羣跟大佬們一塊兒學習。
git

相關文章
相關標籤/搜索