-2

这就是我被要求做的:检查一个字符串是否有相同数量的 'x's 和 'o's。该方法必须返回一个布尔值并且不区分大小写。字符串可以包含任何字符。

示例输入/输出:

XO("ooxx") => true
XO("xooxx") => false
XO("ooxXm") => true
XO("zpzpzpp") => true // when no 'x' and 'o' is present should return true
XO("zzoo") => false

这是我的代码:

#include <iostream>
#include <string>
using namespace std;

bool XO(const std::string& str)
{
  if (str.equals("o", "x")) {
  return true;
  } else {
    return false;
  }
}
int Main() {
  XO("ooxx");
  XO("xooxx");
  XO("ooxXm");
  XO("zpzpzpp");
  XO("zzoo");
}

但它不起作用。我的问题是什么?这是我得到的错误顺便说一句

main.cpp:12:11: error: no member named 'equals' in 'std::__cxx11::basic_string<char>'
  if (str.equals("o", "x")) {
      ~~~ ^
4

1 回答 1

1

您需要计算字符串中有多少x个字符。结果将是一个数字。对字符做同样的事情o。那会给你另一个号码。测试数字是否相等。

于 2020-09-12T11:33:37.613 回答