-1
これはリートコード14です。 リートコードは完全な画像なしでわずかなコードしか与えません。私は自分のコードの問題を理解できません。エラーメッセージは、1行には含まれません。 どうしたらいいか見てみましょう。'struct value_type'型のヌルポインタへの参照への参照
これは、ベクトルに格納された一連の文字列の中で最も長い共通接頭文字列を見つけることです。 私の考えは、最初にすべての文字列の中で最短の文字列の長さを見つけます。次に、これを繰り返して、すべての文字列が同じプレフィックスを持つかどうかをチェックします。そうでなければ、以前のループでsubstrを返します。
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
int min = strs[0].size();
string prefix;
for(int i =0;i<strs.size();i++){
if(strs[i] == "") return "";
else{
if(min > (strs[i].size()))
min = strs[i].size();
}
}
for(int i=0;i<=min;i++){
prefix=strs[0].substr(0,i);
for(int j=0;j<strs.size();j++){
if(prefix.compare(strs[j].substr(0,i))){
return prefix.substr(0,prefix.size()-1);
}
}
}
}
};
エラーがありますので、私たちはどのような行を推測すべきですか? make a [mcve]してください。下記のコメントをお寄せください):あなたにはまだマークされていません - エラーの場所を教えられない場合はどうすればお手伝いしますか? –
あなたはマークする前に自分の投稿を読んでいますか?私はそれが1つの行に特定されなかったことを言いました、そうでなければ私はここに来ることもないでしょう。 – cxf54
ところで、 'string longestCommonPrefix(ベクトル&strs)' * member-function * **は値を返すために失敗します。 –
WhiZTiM