编程题——合法括号序列
编程题——合法括号序列
题目描述:
对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串。
给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串。
示例1:
输入
(()())
6
输出
true示例2:
输入
()a()()
7
输出
false示例3:
输入
()(()()
7
输出
false
程序代码如下:
#include <iostream>
#include <string>
#include <stack>
using namespace std;/*这道题目比较简单,要求输入只能是括号且括号匹配,我们用栈就可以轻松解决*遍历字符串,当遇到'('时压入栈中*遇到')'时判断栈是否为空及栈顶元素是否为(* 如果栈为空或栈顶不为'('说明没有与左括号匹配的右括号,return false;* 否则,将栈顶'('出栈*其他字符返回false*遍历结束后判断栈是否为空* 栈为空,说明括号匹配,return true;* 栈不为空,说明括号不匹配,左括号多,return false;*/
class Parenthesis {public:bool chkParenthesis(string A, int n) {stack<char> s;for (int i = 0; i < n; ++i){if ('(' == A[i])s.push(A[i]);else if (')' == A[i]){if (s.empty() || '(' != s.top())return false;elses.pop();}elsereturn false;}if (s.empty())return true;elsereturn false;}
};int main()
{Parenthesis p;string s;int N;getline(cin, s);cin >> N;if (p.chkParenthesis(s,N))cout << "true" << endl;elsecout << "false" << endl;return 0;
}
程序运行结果如下:
编程题——合法括号序列相关推荐
- 2016百度实习编程题:括号序列
不知如何解决 1.感觉贪心或者动态规划,不知道如何解决 2.做过生成合法括号序列的题目,想到用DFS补成合法的括号,然而没有成功
- 刷题日记【第四篇】-笔试必刷题【Fibonacci数列+合法括号序列判断+两种排序方法+求最小公倍数】
目录 选择题模块 1. 以下对继承的描述错误的是(A) 2. 在Java中,一个类(B) 3. 以下不是Object 类的方法的是(D) 4. Test.main() 函数执行后的输出是(D) 编程题 ...
- 【字符串2】(删除公共字符、合法括号序列判断、两种排序方法、密码强度等级)
字符串题集 1. 删除公共字符 题目描述 题目分析 C++代码 2. 合法括号序列判断 题目描述 题目分析 C++代码 3. 两种排序方法 题目描述 题目分析 C++代码 4. 密码强度等级 题目描述 ...
- [Jobdu] 题目1337:寻找最长合法括号序列
题目描述: 给你一个长度为N的,由'('和')'组成的括号序列,你能找出这个序列中最长的合法括号子序列么?合法括号序列的含义便是,在这个序列中,所有的左括号都有唯一的右括号匹配:所有的右括号都有唯一的 ...
- 牛客题霸 [括号序列] C++题解/答案
牛客题霸 [括号序列] C++题解/答案 题目描述 给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列 括号必须以正确的顺序关闭,&quo ...
- 牛客网--关于合法括号序列判断
牛客网--关于合法括号序列判断 题目描述 代码 题目描述 对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串. 给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串 ...
- [ Nowcoder Contest 165 #D ] 合法括号序列
\(\\\) \(Description\) 键盘上有三个键,敲击效果分别是: 在输出序列尾部添加一个左括号 在输出序列尾部添加一个右括号 删除输出序列尾部的第一个元素,若输出序列为空,则什么都不发生 ...
- C语言去括号编程题,去括号 - C语言网
题目描述 当老师不容易,尤其是当小学的老师更难:现在的小朋友做作业喜欢滥用括号. 虽然不影响计算结果,但不够美观,容易出错,而且可读性差.但又不能一棒子打死,也许他们就是将来的"陈景润&qu ...
- 12届蓝桥杯省赛c++b组 J题 括号序列
这次要讲的前几个星期刚比完的蓝桥杯c++b组J题:括号序列.本次比赛我也参加了,但是这道题我是dfs求解的,所以都只是拿了少部分的分,我比赛时的代码就不展示了,因为时间复杂度很高,所以我就直接讲解正解 ...
最新文章
- [Cake] 1. CI中的Cake
- 神经网络?决策树?都做不到!谁能解决可解释性AI?
- 原创:MD5 32位加密软件
- 分解连续自然数的和_小学奥数各年级经典题解题技巧大全——分解因数法(2)...
- Python中的Series和DataFrame
- mysql 处理一条语句卡死_一条MySQL查询语句,卡死机器,不知道为什么,求高手指点!...
- Zoi选项 — Insure抑制功能
- Kafka 入门教程之一: 安装
- eggjs 项目实践
- 微信群越来越多,我该如何科学地管理?
- spring 集成MongoDB错误Interrupted acquiring a permit to retrieve an item from the pool
- root高级权限怎么弄,怎样拥有root权限
- 日常英语精彩短句集锦
- 八股文(Spring)
- **caffe_vcpkg+vs2017+win7安装整理**
- 【C语言】求一个四位整数各位数字之和
- oracle一体机的管理界面,Oracle 数据库一体机:zData Light - 分布式存储管理平台
- GIS的云计算解决方案
- 百度mip推送工具_百度小程序继熊掌号后,百度搜索站长平台的又一脱了裤子放屁闹剧...
- 耦合天线测试软件,天线间耦合度自动测试系统设计.PDF