leetcode之14最長公共字首

2021-09-10 06:04:36 字數 838 閱讀 7910

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

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

示例 1:

輸入: [「flower」,「flow」,「flight」]

輸出: 「fl」

示例 2:

輸入: [「dog」,「racecar」,「car」]

輸出: 「」

解釋: 輸入不存在公共字首。

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

第一次實現**:思路簡單,直接貼出

class solution 

}int i;

for (i = 0; i < strs[index].length(); i++)

}if(!flag)

}return strs[0].substring(0,i);

}}

第二次學習他人解法後換一種思路,如下面**所示,將第乙個字串暫時作為公共字首,第一種情況是剛好就是公共最長字首,那麼for迴圈結束後prefix還是等於第乙個字串,直接返回。第二種情況是不是公共最長,那麼找比他短的公共字首,將prefix依次與第二個字串開始比較,如果while為真,說明第二個字串不含有prefix字首,這時將prefix擷取,在比較,在擷取,直到while為真,如果最後都沒有,說明沒有公共字首,返回"",當while為真時,此時prefix就是第二個字串的字首,再迴圈比較第三個字串,直到最後乙個字串找出最長的公共字首。

public static string longestcommonprefix(string strs) 

}return prefix;

}

LeetCode 最長公共字首 14

編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。思路 建立乙個stringbuilder容器,選擇strs 0 作為比較的基準...

LeetCode14最長公共字首

編寫乙個函式來查詢字串陣列中最長的公共字首字串。例如 輸出 ab 比較乙個字串陣列的最長公共字首,遍歷整個字串陣列,建立乙個字串用來儲存當前最長公共字串,逐個比較,不斷更新公共字串內容。情況比較多,考慮周全,不然可能會陣列溢位。公共字串的長度和當前比較字串的長度大小的比較,避免陣列越界,還有空字串的...

LeetCode 14 最長公共字首

編寫乙個函式來查詢字串陣列中最長的公共字首字串。用第乙個字串s,比較strs的每個字串的公共字首,並記錄字首有m位,之後輸出s的前m位字元即可。但是在輸出過程中,使用了如下的賦值方式 for int i 0 i m i ans i s i 在string型別中,內部的成員是private的,所以不能...