使用堆栈测试字符串中等量的 x 和 y

Test for equal amount of x and y in string using stack

我正在开发一个函数来测试字符串中是否有相同数量的 x 和 y。我希望有人能告诉我如何修复此功能。 我假设该字符串仅包含 x 和 y。 我认为这段代码看起来是正确的,但是当我用不同顺序的字母追踪它时,它不起作用

这是我的代码:

bbool equal(string Letters){
stack<string>a_stack;
for(int i=0; i<Letters.length(); i++){
    if(s[i]=='x')
        a_stack.push(Letters[i]);
}
for(int j=0; j<Letters.length(); j++){
    if(s[j]=='y')
        a_stack.pop();
}
if(a_stack.empty())
    return true;
else
    return false;

}

这是家庭作业,我需要使用堆栈。

由于您使用它的方式提到的原因,单个堆栈将无法工作。您可以使用两个堆栈,一个用于 x,一个用于 y,然后比较大小。

或者,您可以使用单个堆栈并为 x 压入 1,为 y 压入 -1。然后总结堆栈。如果它们相等,则总和将为 0。