当前位置:网站首页>牛客刷题——合法括号序列判断
牛客刷题——合法括号序列判断
2022-06-11 18:14:00 【HHYX.】
题目链接:合法括号序列判断
题目描述
描述
给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)。
测试样例:
题目分析
题中是判断括号是否合理
匹配不成功的可能性有如下几种:
- 当前字符不是括号,这种情况可以直接进行返回false
- 括号匹配不完整,出现单个左括号或者右括号的情况
这里可以使用一个栈进行存放字符串,遇到左括号则进行入栈,遇到右括号则进行判断栈顶是否有匹配的左括号,如果有则将栈顶元素出栈,如果没有则表示匹配不完整,多出了右半边。如果最后栈为空,则说明都有匹配的括号。如果栈不为空则说明有多余的左括号
代码实现如下:
代码实现
bool chkParenthesis(string A, int n) {
// write code here
stack<char> cp;
for(size_t i=0;i<A.size();i++)
{
if(A[i]=='(')
{
cp.push(A[i]);
}
else if(A[i]==')')
{
if(!cp.empty() && cp.top()=='(')
{
cp.pop();//如果是匹配的左括号则出栈
}
else
{
return false;
}
}
else
{
return false;
}
}
if(cp.empty())
{
return true;
}
else
{
return false;
}
}

边栏推荐
猜你喜欢

NR LDPC 打孔-punctured

【无标题】
![[c language] shift elements after sorting elements of an array](/img/5b/3e74fc40787d94f6d0ab93332140ba.png)
[c language] shift elements after sorting elements of an array

Common operations of Visio

SISO decoder for a general (n,n-1) SPC code(补充章节3)

SISO decoder for min sum (supplementary Chapter 2)

Introduction to social engineering practice
![[C语言]压缩字符串并添加标记字符](/img/b7/f7918f3ee0c409faffc70addd5ee65.png)
[C语言]压缩字符串并添加标记字符

Easycwmp source code analysis

Getting started with CTF
随机推荐
Sword finger offer (2nd Edition)
牛客刷题——part8
SISO decoder for min sum (supplementary Chapter 2)
.net core redis hyperloglog类型
Reading summary of nacos2.x source code
Implementation of servlet file upload function (Commons fileUpload)
排序的循环链表
“LSTM之父”新作:一种新方法,迈向自我修正的神经网络
SISO Decoder for SPC (补充章节1)
TR-069协议介绍
H. 264 concept
async导致函数结果出乎意料,改变原来代码的意图;await is only valid in async functions and the top level bodies of modules
论高可用架构
Secret comment-----
互联网_业务分析概述
Database lock and transaction isolation level
Nocturnal installs APK and BP agent
使用Visdom對損失函數進行監控
EditText 金额限制
网络和并发编程常见面试题