小编use*_*736的帖子

用于检查parallel()s,{}和[] s的字符串的C++程序

所以这是我的问题:

我应该写一个c ++程序来检查字符串是否平衡.到目前为止,我有代码工作,以确保它具有相同数量的('s和')(与['s和{'s相同).问题在于它适用于几乎所有的东西,但它不适用于{'s,('s和[都混淆了]的字符串.

例如:"{{[()]}()}"恢复为平衡(真实).但是,"{([]})"会回来,但不应该.

逻辑和/或代码中有哪些想法可以检查它们何时出现故障?

谢谢你的帮助!

万一有帮助,我的代码如下:

bool ExpressionManager::isBalanced(string expression)
{
//remove whitespace
string edited;
for(int i = 0; i < expression.length(); i++)
{
    if(expression[i] == ' ')
    {
        continue;
    }
    else
    {
        edited += expression[i];
    }
}
expression = edited;

//set up brckets 
string brackets;

for(int i = 0; i < expression.length(); i++)
{
    if (expression.at(i)=='(')
    {
        brackets += expression.at(i);
    }
    if (expression.at(i)=='[')
    {
        brackets += expression.at(i);
    }
    if (expression.at(i)=='{')
    {
        brackets += expression.at(i);
    }
    if (expression.at(i)=='}')
    {
        brackets …
Run Code Online (Sandbox Code Playgroud)

c++ brackets curly-braces parentheses

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

brackets ×1

c++ ×1

curly-braces ×1

parentheses ×1