題目描述:
編寫一個(gè)函數(shù)來(lái)查找字符串?dāng)?shù)組中的最長(zhǎng)公共前綴丽旅。
如果不存在公共前綴癞己,返回空字符串 ""台囱。
示例 1:
輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:
輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴菠隆。
說(shuō)明:
所有輸入只包含小寫字母 a-z 。
思路:
將包含所有字符串的數(shù)組做一次排序勃蜘,因?yàn)槭前凑兆值湫蚺判蛩敦磸那巴笠来闻判颍钥梢灾槐容^第一個(gè)字符串和最后一個(gè)字符串缭贡,找出第一個(gè)字符串和最后一個(gè)字符串的公共前綴就是整個(gè)字符串?dāng)?shù)組的公共前綴炉擅。
貼出代碼:
string longestCommonPrefix(vector<string>& strs) {
if(strs.empty())
return "";
sort(strs.begin(),strs.end());
string res;
for(int i=0;i<strs[0].size()&&i<strs[strs.size()-1].size();i++)
{
if(strs[0][i]==strs[strs.size()-1][i])
res+=strs[0][i];
else
break;
}
return res;
}