首页 > 其他分享 >Check for balanced parentheses using stack【1月20日学习笔记】

Check for balanced parentheses using stack【1月20日学习笔记】

时间:2024-01-20 17:15:28浏览次数:26  
标签:parentheses return opening 括号 exp using 20 stack

点击查看代码
//Check for balanced parentheses using stack
#include<iostream>
#include<stack>//stack from standard template library(STL)
#include<string>
using namespace std;

bool arepair(char opening, char closing) {
	if (opening == '(' && closing == ')')   return true;
	else if (opening == '{' && closing == '}')   return true;
	else if (opening == '[' && closing == ']')   return true;
	return false;
}//判断是否匹配

bool AreParanthesesBalanced(string exp) {
	stack<char> S;
	for (int i = 0; i < exp.length(); i++) {//遍历整个字符串,只关心括号即可
		if (exp[i] == '(' || exp[i] == '{' || exp[i] == '[')//开括号push
			S.push(exp[i]);
		else if (exp[i] == ')' || exp[i] == '}' || exp[i] == ']')//闭括号两种情况
		{
			if (S.empty() || !arepair(S.top(), exp[i]))//stack为空或者与上一括号不匹配
				return false;
			else
				S.pop();//匹配时pop掉上一括号
		}
	}
	return S.empty() ? true : false;//检测最终stack是否为空
}

int main() {
	string expression;
	cin >> expression;
	if (AreParanthesesBalanced(expression))
		cout << "balanced" << endl;
	else cout << "not balanced" << endl;
}

标签:parentheses,return,opening,括号,exp,using,20,stack
From: https://www.cnblogs.com/whvivy/p/17976736

相关文章

  • 昆虫科学院 AtCoder Race Ranking 2023 Autumn
    概况为提高选手们的训练/比赛热情,我们(昆虫科学院)通过商讨,在\(2023-5-25\)仿照AtCoderRaceRanking(WTF)机制,设立了“昆虫科学院AtCoderRaceRanking2023”。该排行榜为\(2023\sim2024\)赛季的第二轮排行。校内参赛选手(按照学号排序)AtCoder用户名学号......
  • CPU跑分工具:SPEC2006
    一.工具介绍前言SPEC2006benchmark是SPEC新一代的行业标准化的CPU测试基准套件。重点测试系统的处理器,内存子系统和编译器。这个基准测试套件包括的SPECint基准和SPECfp基准。主要依赖于gcc,g++,gfortran并与其版本息息相关。其中SPECint2006基准包含12个不同的基准测试和SP......
  • 1.20学习进度
    1.standaloneHA的运行原理:为解决单点故障问题,spark由两种方案:基于文件系统的单点恢复(只能用于开发或测试环境)、基于zookeeper的standbymaster(可以用于生产环境);基于zookeeper做状态的维护,开启多个master进程,一个作为活跃,其他的作为备份,当活跃进程宕机,备份master进行接管第五章1.......
  • Windows 10 version 22H2 (updated Jan 2024) 中文版、英文版下载
    Windows10version22H2(updatedJan2024)中文版、英文版下载Windows1022H2企业版arm64x64作者主页:sysin.orgWindows10更新历史记录Windows10,version22H2,alleditions发布日期:2022/10/18版本:Windows10,版本22H2Windows10版本信息2022/10/19从W......
  • Windows 11 version 23H2 中文版、英文版 (x64、ARM64) 下载 (updated Jan 2024)
    Windows11version23H2中文版、英文版(x64、ARM64)下载(updatedJan2024)Windows11,version23H2,2024年1月更新作者主页:sysin.orgWindows11目前版本所有的日期都按照ISO8601格式列出:YYYY-MM-DD)服务频道版本服务选项上市日期最后修订日期最新版本......
  • Windows Server 2022 中文版、英文版下载 (updated Jan 2024)
    WindowsServer2022中文版、英文版下载(updatedJan2024)WindowsServer2022正式版,2024年1月更新请访问原文链接:https://sysin.org/blog/windows-server-2022/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org此次发布更新了什么?答:版本号,当然还有……2021.09......
  • Windows Server 2022 中文版、英文版下载 (updated Jan 2024)
    WindowsServer2022中文版、英文版下载(updatedJan2024)WindowsServer2022正式版,2024年1月更新请访问原文链接:https://sysin.org/blog/windows-server-2022/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org此次发布更新了什么?答:版本号,当然还有……2021.0......
  • 2024-01-20:用go语言,小扣在探索丛林的过程中,无意间发现了传说中“落寞的黄金之都“, 而
    2024-01-20:用go语言,小扣在探索丛林的过程中,无意间发现了传说中"落寞的黄金之都",而在这片建筑废墟的地带中,小扣使用探测仪监测到了存在某种带有「祝福」效果的力场,经过不断的勘测记录,小扣将所有力场的分布都记录了下来,forceField[i]=[x,y,side],表示第i片力场将覆盖以坐标......
  • 题解 P6226 [BalticOI 2019 Day1] 潜艇
    【洛谷博客】题解P6226[BalticOI2019Day1]潜艇题意很清楚,忽略。分析看到这种字符串题很容易想到直接广度优先搜索,复杂度\(O(rc4^m)\)。很显然承受不了,所以考虑DP。状态设计设\(f_{i,x,y}\)表示执行完前\(i\)个操作后位置\((x,y)\)能否作为终点。设命令字符......
  • 20240119方程图像研究
    事情起因:研究人员:csj、lqy、xzq、yjf方程图像研究要求:描点法画图(使用卡西欧),在\(x\)轴上任取值,对于给定\(x_0\),应在有限时间内求出所有对应的\(y\)。草图绘制(直接绘制):综合方程性质(如定义域、单调性、对称性),明确区间单调性及端点,利用对称性作图、或化归为已知方程并求出其......