1. 程式人生 > 實用技巧 >前端國際化輔助工具——自動替換中文並翻譯

前端國際化輔助工具——自動替換中文並翻譯

1.問題描述

編寫一個函式來查詢字串陣列中的最長公共字首。

如果不存在公共字首,返回空字串""。

示例1:

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

示例2:

輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共字首。

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

2.求解

常規解法

取出第一個字串,依次遍歷整個陣列,與第一個字串比較。

程式碼如下
public String longestCommonPrefix(String[] strs) {
    if(strs.length == 0){
        return "";
    }
    String s = strs[0];
    for (int i = 1; i < strs.length; i++) {
        int index = getStr(s, strs[i]);
        if (index == 0) {
            return "";
        }
        s = s.substring(0, index);
    }
    return s;
}

public int getStr(String str1, String str2) {
    int index = 0, m = str1.length(), n = str2.length();
    if (m > n) {
        m = str2.length();
    }
    for (int i = 0; i < m; i++) {
        if (str1.charAt(index) == str2.charAt(index)) {
            index++;
        } else {
            break;
        }
    }
    return index;
}
  • 時間複雜度 O(mn),其中 m是字串陣列中的字串的平均長度,n 是字串的陣列的長度。
  • 空間複雜度 O(1)