使用堆栈测试字符串中的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。
相关文章:
- 堆栈和队列是否像C++中的数组一样传递?
- 在函数范围内在堆栈上分配的数组在离开函数时是否总是被释放?
- 如果我们通过引用传递变量,则递归中使用的堆栈空间量是否为零?
- 是否可以检查悬挂光纤的调用堆栈?
- "new"创建的实例的所有成员变量是否都存在于堆上而不是堆栈上?
- 我的堆栈弹出式磁带的实现是否泄漏内存?
- 是否可以访问代码中的调用堆栈?
- 堆栈变量超出范围时是否解除分配?
- 唯一指针是否在堆或堆栈上分配内存?
- C++,在对象内分配多个数据时,堆栈分配是否更有效? 在下面的程序中,类A_Heap的效率会更低吗?
- 对象向量是否在堆或堆栈上分配C++?
- 有什么方法可以检测我的类的对象是否在堆栈上创建
- 是否可以检查存储在堆栈上的单词是否是回文,而C++中没有任何附加数据结构
- 虚拟功能是否不太可能导致堆栈溢出
- 在我的实现中使用堆栈是否正确?
- std :: vector用作堆栈和std :: stack之间是否存在任何复杂性差异
- 如何找出内存是否属于堆或堆栈
- 是否可以将功能调用堆栈放在堆上
- 是否可以在堆栈上创建向量
- 找出堆栈数组中的下一个整数是否相同