括号匹配 ╰半橙微兮° 2022-03-30 02:28 269阅读 0赞 ### ### 题目描述 假设一个算术表达式中可以包含三种括号:圆括号“(”和“)”,方括号“\[”和“\]”和花括号“\{”和“\}”,且这三种括号可按任意的次序嵌套使用(如:…\[…\{… …\[…\]…\]…\[…\]…(…)…)。编写判别给定表达式中所含括号是否正确配对出现的算法。输出结果YES 或者 NO。 输入 5+\{\[2X5\]+2\} 输出 YES 样例输入 Copy 8-\[\{2+7\]\} 样例输出 Copy NO ##### 分析: ##### 此题用栈可以很好的解决。可以先经过一次预处理将括号保存到一个新的数组里面。然后用栈 , #include"stdio.h" #include"string.h" typedef struct { char symobl[10000]; int top; } SYM; SYM a; void POP(char *e) { *e=a.symobl[a.top-1]; a.top--; } void PUSH(char e) { a.symobl[a.top]=e; a.top++; } int Serch(char symobl[]) { int i,j,k,len,mark=1; char e; len=strlen(symobl); for(i=0; i<len; i++) { if(symobl[i]==')'||symobl[i]==']'||symobl[i]=='}') { POP(&e); if(symobl[i]==')') { if(e!='(') mark=0; } else if(symobl[i]==']') { if(e!='[') mark=0; } else if(symobl=='}') { if(e!='{') mark=0; } } else PUSH(symobl[i]); } if(a.top!=0) mark=0; return mark; } int main() { char word[10000]; char symobl[10000]; int i,j,k,mark,l; while(gets(word)!=NULL) { j=0; a.top=0; l=strlen(word); for(i=0; i<l; i++) if(word[i]=='('||word[i]==')'||word[i]=='['||word[i]==']'||word[i]=='{'||word[i]=='}') symobl[j++]=word[i]; mark=Serch(symobl); if(mark==1) printf("YES\n"); else printf("NO\n"); } }
相关 【Java】括号匹配 \{\} 括号匹配模式 解题思路 栈 import java.util.Scanner; import java.util.Stack; 心已赠人/ 2022年12月09日 04:53/ 0 赞/ 195 阅读
相关 表达式括号匹配 题目描述 假设一个表达式有英文字母(小写)、运算符`(+,—,,/)`和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配, 忘是亡心i/ 2022年12月01日 01:24/ 0 赞/ 180 阅读
相关 括号匹配 <table style="width:1615px; margin-bottom:20px; background-color:transparent"> <tbody> 秒速五厘米/ 2022年06月02日 08:53/ 0 赞/ 235 阅读
相关 括号匹配 [题目 括号匹配][Link 1] 一般的括号匹配问题是这样的: 给出一个字符串,判断这个括号匹配是不是合法的括号匹配。如”((” 和 “())”都不是合法的括号匹配 我会带着你远行/ 2022年05月18日 00:55/ 0 赞/ 189 阅读
相关 括号匹配 栈的应用,括号匹配。 经典做法是,遇左括号压入,遇右括号判断,和栈顶配对就继续,不配对或者栈空就错了。最后判断是否为空。 代码有些麻烦。 我是遇左括号压对应的右括号,最后 你的名字/ 2022年05月06日 06:28/ 0 赞/ 232 阅读
相关 括号匹配 题目描述 假设一个算术表达式中可以包含三种括号:圆括号“(”和“)”,方括号“\[”和“\]”和花括号“\{”和“\}”,且这三种括号可按任意的次序嵌套使用(如:…\ ╰半橙微兮°/ 2022年03月30日 02:28/ 0 赞/ 270 阅读
相关 括号匹配 PTA 02:括号匹配 一、题目 给定一串字符,不超过100个字符,可能包括括号、数字、字母、标点符号、空格,编程检查这一串字符中的( ) ,\[ \],\{ \} 冷不防/ 2022年02月27日 15:54/ 0 赞/ 321 阅读
相关 括号匹配 <table> <tbody> <tr> <td colspan="3"> <h2>括号匹配</h2> </td> </tr> <tr> 约定不等于承诺〃/ 2022年01月07日 04:37/ 0 赞/ 303 阅读
相关 括号匹配 include<stdio.h> include<stack> using namespace std; stack <int> s;//定义一 叁歲伎倆/ 2021年12月01日 17:44/ 0 赞/ 307 阅读
相关 括号匹配 括号配对问题 时间限制: 3000 ms | 内存限制: 65535 KB 难度: 3 描述 现在,有一行括号序列,请你检查这行括号是否配对。 输入 第一行 怼烎@/ 2021年09月22日 07:20/ 0 赞/ 384 阅读
还没有评论,来说两句吧...