美文网首页
括号匹配

括号匹配

作者: 鹿与云与雨 | 来源:发表于2019-11-27 15:38 被阅读0次

检查一段C语言代码的小括号( )、 中括号 [ ] 和大括号{ } 是否匹配。

//有部分测试未通过
#include <iostream>
#include<string>
#include<stack>
#include<cstring>
using namespace std;

int main()
{
    int j, i = 0, k = 0;
    stack<char>s;
    string a;
    getline(cin, a);
    for (j = 0; j < a.length(); j++)
    {
        if (a[j] == '(' || a[j] == '{' || a[j] == '[')
        {
            s.push(a[j]);
            i = i + 1;
        }
        if (a[j] == ')')
        {
            k = k + 1;
            if (s.top() == '(')
                s.pop();
            else
                continue;
        }
        if (a[j] == '}')
        {
            k = k + 1;
            if (s.top() == '{')
                s.pop();
            else
                continue;
        }
        if (a[j] == ']')
        {
            k = k + 1;
            if (s.top() == '[')
                s.pop();
            else
                continue;
        }
    }
    cout << i << " " << k << endl;
    if (s.empty() == 1)
        cout << "YES";
    else cout << "NO";
    return 0;
}

相关文章

  • 3. 一些算法问题

    1. 括号匹配问题 算法:括号匹配问题 - 简书 C程序括号匹配检查 - Jason ZHANG的博客 - CSD...

  • 栈、队列解决问题

    栈解决括号匹配问题 一个字符串中包含小括号、中括号、大括号,判断该字符串中的括号是否匹配 ()()[]{} 匹配...

  • Python爬虫 使用正则表达式匹配邮箱和括号中的内容

    匹配邮箱 匹配括号

  • 括号匹配

  • 括号匹配

    检查一段C语言代码的小括号( )、 中括号 [ ] 和大括号{ } 是否匹配。

  • 括号匹配

    这道题不同于LC921. 使括号有效的最少添加,这里是两种括号。 dp,f[i][j]表示从i位到j位的序列变为合...

  • 括号匹配

    题目:假设表达式中允许包含两种括号:圆括号与方括号,其嵌套顺序随意,即() 或者[([][])] 都是正确的。而这...

  • 盘点c语言学习中易犯得八大错误

    初学者常犯的错误是: 1:分号忘记 2:大括号不匹配,中括号不匹配,小括号不匹配(你应该先打括号,再填入内容:切记...

  • chap3-栈和队列

    括号匹配问题 // 括号匹配,遇到 '\0' 结束// 遇到花、中、圆左括号进栈,遇到花、中、圆右括号检查栈顶元素...

  • 学习python之路--Day5 计算器

    需求 可以处理带括号的加减乘除运算 需求分析 匹配括号re.search('\(.*\)',a) 匹配最里面括号r...

网友评论

      本文标题:括号匹配

      本文链接:https://www.haomeiwen.com/subject/blipwctx.html