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 sN;

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(si=='('){

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

相关推荐
nice_lcj52011 分钟前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试
樱花树下的数学喵2 小时前
手写简易 STL string|C++ 字符串底层实现
开发语言·c++
AI吃大瓜2 小时前
指针压力表读数3:C/C++实现指针压力表读数(可实时检测)
c++·指针读数·指针压力表·压力表自动读数·压力表读数
-银雾鸢尾-2 小时前
两数之和-C++实现
c++·算法
j7~2 小时前
【动态规划算法专题】动态规划五部曲实战:泰波那契数、三步问题、最小花费爬楼梯
c++·算法·动态规划·数据结构与算法
jimy12 小时前
C++ 报错的 qualifiers 的意思
开发语言·c++
揽星河..3 小时前
【C++】类和对象
c++·算法
D e re k ZH4 小时前
C++ 并发、未定义行为与工程化难点(No 3)
数据结构·c++·算法·面试
不积跬步无以至千里mmbb264 小时前
rust_analysis
开发语言·后端·rust
暴力求解5 小时前
C++ ---继承(二)
开发语言·c++·算法