-4

假设我有这个代码:

    string str[] = {"devil", "chandra"};
    // check if str[0] has properly devil, character by character  or not without extra variable

现在我想在没有额外变量的情况下一一检查 str[0] 的所有字符,即 'd'、'e'、'v'、'i'、'l'。带有额外的变量代码将是:

string n1 = "devil";

for(int i=0; i<1; i++){
   string s1 = str[i]
   for(int j=0; j<s1.size(); j++){
   if(s1[i] == n[i]){
   cout << s1[i] << " ";
  }
}

基本上,我想要 O(n) 循环,我可以在其中访问所有索引字符串以及其中的所有字符。

像 s[i] 是“魔鬼”和 s[[i]] = 'd' 这样的东西,知道它是无效的,但是有什么办法吗?即使我不知道这是否是一个有效的问题!

4

1 回答 1

2

我不确定你为什么需要一个额外的变量。如果您需要一个条件来检查字符串数组中的第一个值是否为“devil”,那么它不应该比以下复杂:

if (str[0] == "devil")
{
    * Do things *
}

C++ 可以一次检查一个标准字符串。如果这是您的想法,则无需检查每个单独的字符。

请记住,这不会考虑字符串不完全相同的情况。例如,如果 str[0] 具有“Devil”而不是“devil”,则条件将评估为 false。

于 2021-04-16T22:30:30.500 回答