我必须解决这个问题,其中给定一个字符串,我必须返回字符串中存在的第一个非重复字符。返回字符串中的第一个非重复字符
我使用散列表解决了它,并写了一个方法,该方法对字符串进行常量引用并返回第一个不重复字符。然而,当没有不重复的字符出现在字符串中,我返回-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