【2023王道数据结构】【栈、队列和数组03】C、C++完整实现(可直接运行)

~~~笔锋至此又怎能平淡而终,故事开始便不承认普通✌✌✌

如果需要完整代码可以关注下方公众号,后台回复“代码”即可获取,阿光期待着您的光临~

题目:
在这里插入图片描述

解题思路:

>判断子缀和是否小于0
>如果成立则为不合法序列

代码实现:

#include <iostream>
using namespace std;

void Judge(string s)
{
    int sum = 0;
    for (int i = 0; i < s.length(); i++)
    {

        if (s[i] == 'I')
        {
            sum += 1;
        }
        else
        {
            sum -= 1;
        }
        if (sum < 0)
        {
            cout << "不合法序列" << endl;
            return;
        }
    }

    if (sum == 0)
    {
        cout << "合法序列" << endl;
        return;
    }

    cout << "不合法序列" << endl;
}

int main()
{
    string s1 = "IOIIOIOO";
    string s2 = "IOOIOIIO";
    string s3 = "IIIOIOIO";
    string s4 = "IIIOOIOO";
    Judge(s1);
    Judge(s2);
    Judge(s3);
    Judge(s4);
}

猜你喜欢

转载自blog.csdn.net/m0_47256162/article/details/124439025