我必須解決這個問題,其中給定一個字符串,我必須返回字符串中存在的第一個非重複字符。返回字符串中的第一個非重複字符
我使用散列表解決了它,並寫了一個方法,該方法對字符串進行常量引用並返回第一個不重複字符。然而,當沒有不重複的字符出現在字符串中,我返回-1,並在主程序我檢查如下
char c = firstNonRepeating(word);
if (static_cast<int> (c) == -1)
cout<<"no non repeating character present\n";
else
cout<<c<<endl;
是,當需要的字符不存在正確的方式返回-1?
字符串可能不一定是空的終止......那只是一個c方式來表示字符串的結尾 –
@Amm Sokun,但在你的邏輯中,你將檢查字符串,直到null ..正確。所以在這種情況下,這是一個有效的想法。如果你檢查字符數組的大小,那麼你可以爭論,但是你在你的問題中提到了'string'。 – iammilind