分析:題目意思很簡單,就是找到所有string的最長相同前綴,需要注意的是處理結果這一塊。
用stringstream存答案(爲什麼用stringstream,因爲string不可變哇!!我一開始忘記了,而且函數返回就是string,所以就被帶偏了。。),最後再把它轉成string返回。
這裏還要注意一點,就是當函數輸入的vector爲空時,需要返回空串,而且這個要單獨處理,否則就會發生RE,錯誤提示如下:
runtime error: reference binding to null pointer of type 'struct value_type' (stl_vector.h)
下面上代碼,感覺可以用其他方法能更快。。。
class Solution {
public:
string longestCommonPrefix(vector<string>& v) {
stringstream res;
string ans;
if(v.empty())
return "";
int flag;
for(int i=0;v[0][i]!='\0';i++)
{
flag=1;
for(int j=1;j<v.size();j++)
{
if(v[j][i]!=v[0][i])
{
flag=0;
break;
}
}
if(flag==0)
break;
else
res.put(v[0][i]);
}
res.put('\0');
res>>ans;
return ans;
}
};//Runtime: 8ms, Memory Usage: 8.9 MB