LeetCode 14 最長公共字首

2021-10-07 05:38:14 字數 1413 閱讀 4293

題目描述

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

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

示例 1:

輸入:

["flower"

,"flow"

,"flight"

]輸出:

"fl"

示例 2:

輸入:

["dog"

,"racecar"

,"car"

]輸出:

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

說明:

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

解題思路

對於這道題我們可以遞迴的實現:

還可以使用迭代方法來實現這個題目:

我們這裡都用到了字串的乙個api:

charat():

語法:string.charat(index)

引數:index ,必需,表示字串中某個位置的數字,即字元在字串中的位置。

返回值:該方法可返回指定位置的字元,第乙個字元位置為 0, 第二個字元位置為 1,以此類推。

**實現

遞迴實現:

/**

* @param strs

* @return

*/var

longestcommonprefix

=function

(strs)

return i>

0?a.

substring(0

,i):''}

if(strs.length>0)

return commonprefix

}return''}

;

迭代實現:

/**

* @param strs

* @return

*/var

longestcommonprefix

=function

(strs)

let i =

0let flag =

true

while

(flag)}}

else

i++}return strs[0]

.substring(0

, i-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...