LeetCode 14 最長公共前綴

LeetCode14 最長公共前綴

題目描述

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

若是不存在公共前綴,返回空字符串 ""算法

樣例

輸入: ["flower","flow","flight"]
輸出: "fl"
輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴。

算法分析

枚舉便可,就用第一個字符串遍歷一遍數組

簡單問題不要複雜化app

時間複雜度\(O(nm)\)

Java代碼

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs.length == 0) return "";

        if(strs.length == 1) return strs[0];

        StringBuilder sb = new StringBuilder();
        for(int i = 0; i < strs[0].length(); i++){
            char c = strs[0].charAt(i);
            for(int j = 1; j < strs.length; j ++){
                if( i > strs[j].length() - 1 || strs[j].charAt(i) != c){
                    return sb.toString();
                }
            }
            sb.append(c);
        } 

        return sb.toString();
    }
}
相關文章
相關標籤/搜索