LeetCode-14. Longest Common Prefix

1.題目描述

Write a function to find the longest common prefix string amongst an array of strings.

找到一組字符串的最長(zhǎng)前綴。

2.我的分析思路

這一題的第一思路就是,把第一個(gè)字符串作為基準(zhǔn),遍歷每個(gè)子字符串,然后判斷其他字符串是否以這個(gè)子字符串為前綴,然后求出最長(zhǎng)的即可。

上代碼:

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

        if (strs.length == 1) {
            return strs[0];
        }
        String result = "";
        String first = strs[0];
        int firstLength = first.length();
        for (int i = 0; i < firstLength; i++) {
            String temp = first.substring(0, i + 1);
            boolean isPrefix = true;
            for (int j = 1; j < strs.length; j++) {
                if (strs[j].length() < temp.length() || !temp.equals(strs[j].substring(0, i + 1))) {
                    isPrefix = false;
                }
            }
            if (isPrefix) {
                result = temp;
            }
        }
        return result;
    }

3.其他的思路

if (strs.length == 0) return "";
String prefix = strs[0];
for (int i = 1; i < strs.length; i++)
    while (strs[i].indexOf(prefix) != 0) {
        prefix = prefix.substring(0, prefix.length() - 1);
        if (prefix.isEmpty()) return "";
    }
return prefix;

思路跟我的大同小異,代碼比我的簡(jiǎn)潔很多,我們寫代碼不就是追求簡(jiǎn)潔高效嘛?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容