leetCode14 最長公共字首

2021-09-29 21:29:48 字數 947 閱讀 7887

首先對於字首之前的理解有誤,現在正確認識一下,他就是從第乙個字母或者數字開始的某個元素的子串

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

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

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

輸出: 「fl」

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

輸出: 「」

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

解題思路:1、首先判斷輸入的字串陣列是否為空,若為空則返回「」

2、獲取長度最短的元素,防止字串越界

3、以第乙個元素為基準,乙個乙個開始匹配

**如下:

class

solution}if

(min ==0)

if(length ==1)

//乙個乙個比較

for(

int i =

0; i < min; i++

)else}}

flag = i;

}return strs[0]

.substr(0

, flag +1)

;}};

遇到過的坑

查了一下說書陣列越界,仔細看了自己的**發現

//我一開始在設定min

min = strs[0]

.size()

;//此時是empty,所以沒有第0號元素,所以越界了

//修改方式

min =

1000000

;

原因是在for迴圈比較時是從1開始的,在做這種情況下就直接跳到最後乙個return了,

而一開始flag設定是0,所以輸出為"a",而不是「」

修改方式:迴圈從0開始,並且flag設定為-1;

LeetCode14最長公共字首

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

LeetCode 14 最長公共字首

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

LeetCode14 最長公共字首

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