難度:easy編寫乙個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串 「」。
示例 1:輸入: [「flower」,「flow」,「flight」]
輸出: 「fl」
示例 2:說明:輸入: [「dog」,「racecar」,「car」]
輸出: 「」
解釋: 輸入不存在公共字首。
所有輸入只包含小寫字母 a-z 。
解法一:橫向掃瞄
假設第乙個字串為最長公共字首prefix,
之後用prefix和後面的字串尋找新的prefix。
不斷用prefix與後面的字串尋找公共字首,得到最後的結果
class
solution
string prefix = strs[0]
;// 每兩個相鄰的字串判斷最長字首
for(
int i =
1; i < strs.
size()
; i++)}
return prefix;
}// 判斷兩個字串的最長字首
string longestcommonprefix
(const string& str1,
const string& str2)
return str1.
substr(0
, index);}
};
解法二:縱向掃瞄
挨個對每個字串中的首位進行判斷,是否一樣,一樣就加入lcs,之後一次判斷下一位。
class
solution
int min = strs[0]
.size()
;for
(int i =
1; i < strs.
size()
; i++)}
string ans;
for(
int j =
0; j < min; j++
)else
} ans +
= c;
}return ans;}}
;
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...