力扣LeetCode 14 最長公共字首

2021-09-24 04:08:10 字數 1295 閱讀 3283

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

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

示例 1:

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

輸出: 「fl」

示例 2:

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

輸出: 「」

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

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

1、這一題直接平行掃瞄不一定會慢(實現簡單)

2、採用分治的方式,兩個兩個字串比較找到最長公共字首,最終合併得到最終的公共字首

這裡有結論:

分治實現和合併k個有序鍊錶中相似,參考:

class

solution

if(strs.

size()

==1)if

(strs.

size()

>1)

ans.

push_back

(sans);}

strs = ans;

return

longestcommonprefix

(strs);}

else

ans.

push_back

(sans);}

ans.

push_back

(strs[strs.

size()

-1])

; strs = ans;

return

longestcommonprefix

(strs);}

}return"";

} string gettwostringlongestcommonprefix

(string s1, string s2)

int slen = s1.

length()

< s2.

length()

? s1.

length()

: s2.

length()

;int i =0;

while

(i < slen && s1[i]

== s2[i]

) i++

; string ans

(s1,

0, i)

;return ans;}}

;

力扣 LeetCode 14 最長公共字首

編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。說明 所有輸入只包含小寫字母 a z 所有字串的字首最長的 簡單的列舉 兩重迴...

LeetCode14最長公共字首

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

LeetCode 14 最長公共字首

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