文章

6

粉丝

72

获赞

0

访问

3.5k

头像
Runtime Error 通过75%
P1501 西北工业大学2015机试题
发布于2024年3月20日 21:26
阅读数 675

#include <iostream>
#include <stack>
#include <cstring>
using namespace std;


int main()
{
    stack<int> st;
    char s[10005];
    cin >> s;
    for (int i = 0; i < strlen(s); i++)
    {
        if (s[i] == '(' || s[i] == '[')
            st.push(s[i]);
        else if (st.top() == '(' && s[i] == ')' || st.top() == '[' && s[i] == ']')
        {
            st.pop();
        }
    }
    if (st.empty())
    {
        printf("YES\n");
    }
    else
    {
...

登录查看完整内容


登录后发布评论

3 条评论
snake VIP
2024年3月20日 22:25

出栈之前要先判断栈是否为空

赞(0)

dnn_yyds : 回复 snake: 大佬,不懂啊,我也是这么写的,也只有70%,为啥出栈前要判断栈非空啊?如果顶部有和)】对应的(【就弹出栈顶,如果没有就压入,有啥问题咩。

2024年9月13日 03:53

snake : 回复 dnn_yyds: 因为栈为空的时候执行出栈操作会报错,因为没有元素可以出栈了

2024年9月13日 15:29