C++课后习题训练记录Day55

1.练习项目:

问题描述

小蓝有一个长度为 n 的括号串,括号串仅由字符 () 构成,请你帮他判断一下该括号串是否合法,合法请输出 Yes ,反之输出 No

合法括号序列:

  1. 空串是合法括号序列。

  2. 若 s 是合法括号序列,则 ( s ) 也是合法括号序列。

  3. 若 s,t 都是合法括号序列,则 st 也是合法括号序列。

例如 ()()(())(())() 均为合法括号序列。

输入格式

第一行包含一个正整数 n ,表示括号串的长度。

第二行包含一个长度为 n 的括号串。

输出格式

输出共 1 行,若括号串合法请输出 Yes ,反之输出 No

2.选择课程

在蓝桥云课中选择题库,选择题号2490并开始练习。

3.开始练习

(1)源码:

#include<bits/stdc++.h>

using namespace std;

const int N=1e5;

stack<char>stk;

char s[N];

int main()

{

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

int n;

cin>>n;

cin>>s;

bool ans=true;

for(int i=0;i<n;i++){

if(s[i]=='('){

stk.push('(');

}else{

if(stk.size()&&stk.top()=='('){

stk.pop();

}else{

ans=false;

}

}

}

if(stk.size()){

ans=false;

}

cout<<(ans?"Yes":"No")<<'\n';

return 0;

}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。

相关推荐
im_AMBER17 分钟前
Leetcode 102 反转链表
数据结构·c++·学习·算法·leetcode·链表
Coder_Boy_21 分钟前
基于SpringAI的在线考试系统-企业级软件研发工程应用规范实现细节
大数据·开发语言·人工智能·spring boot
lly20240625 分钟前
SQL SELECT 语句详解
开发语言
今儿敲了吗37 分钟前
01|多项式输出
c++·笔记·算法
程序员Jared40 分钟前
C++11—mutex
c++
superman超哥1 小时前
Rust 异步时间管理核心:Tokio 定时器实现机制深度剖析
开发语言·rust·编程语言·rust异步时间管理核心·tokio定时器实现机制·tokio定时器
朔北之忘 Clancy1 小时前
2025 年 9 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·数学·青少年编程·题解
玛丽莲茼蒿1 小时前
javaSE 集合框架(五)——java 8新品Stream类
java·开发语言
wjs20241 小时前
SQLite Glob 子句详解
开发语言
youyicc1 小时前
Qt连接Pg数据库
开发语言·数据库·qt