Balancing Symbols
symbols匹配问题
- #include<iostream>
- #include<string>
- using namespace std;
- struct Node
- {
- char data;
- Node*next;
- };
- struct LinkStack
- {
- Node*top;
- };
- LinkStack*create()
- {
- LinkStack*stack = new LinkStack;
- stack->top = NULL;
- return stack;
- }
- bool isEmpty(LinkStack*stack)
- {
- return (stack->top == NULL);
- }
- void pop(LinkStack*stack)
- {
- Node*p = stack->top;
- stack->top = stack->top->next;
- delete p;
- }
- void push(LinkStack*stack, char item)
- {
- Node*p = new Node;
- p->data = item;
- p->next = stack->top;
- stack->top = p;
- }
- char Top(LinkStack*stack)
- {
- return stack->top->data;
- }
- int main()
- {
- int n;
- cin >> n;
- while (n-->0)
- {
- string s;
- cin >> s;
- LinkStack*stack = create();
- bool flag = true;
- int n = s.size();
- for (int i = 0; i < n; i++)
- {
- if (s[i] == '(' || s[i] == '[' || s[i] == '{')
- push(stack, s[i]);
- if (s[i] == ')')
- {
- if (!isEmpty(stack))
- {
- if (isEmpty(stack) && Top(stack) != '(')
- {
- flag = false;
- break;
- }
- else
- {
- pop(stack);
- }
- }
- else
- {
- flag = false;
- break;
- }
- }
- else if (s[i] == ']')
- {
- if (!isEmpty(stack))
- {
- if (Top(stack) != '[')
- {
- flag = false;
- break;
- }
- else
- {
- pop(stack);
- }
- }
- else
- {
- flag = false;
- break;
- }
- }
- else if (s[i] == '}')
- {
- if (!isEmpty(stack))
- {
- if (Top(stack) != '{')
- {
- flag = false;
- break;
- }
- else
- {
- pop(stack);
- }
- }
- else
- {
- flag = false;
- break;
- }
- }
- }
- if (!isEmpty(stack))
- flag = false;
- if (flag)
- cout << "Yes" << endl;
- if (!flag)
- cout << "No" << endl;
- delete stack;
- }
- return 0;
- }
Balancing Symbols的更多相关文章
- Undefined symbols for architecture arm64解决方案
在iOS开发中经常遇到的一个错误是Undefined symbols for architecture arm64,这个错误表示工程某些地方不支持arm64指令集.那我们应该怎么解决这个问题了?我们不 ...
- Clang: Undefined symbols, but it is there using nm.
https://stackoverflow.com/questions/36662920/xcode-clang-link-build-dynamic-framework-or-dylib-not-e ...
- 转载:《TypeScript 中文入门教程》 16、Symbols
版权 文章转载自:https://github.com/zhongsp 建议您直接跳转到上面的网址查看最新版本. 介绍 至ECMAScript 2015开始,symbol成为了一种新的原始类型,就像n ...
- ios build时,Undefined symbols for architecture xxx问题的总结
简单来说,Undefined symbols基本上等于JAVA的ClassNotFoundException,最常见的原因有这几种: build的时候没有加framework 比如说,有一段代码我用了 ...
- Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_The49DayPersonalFullscreenGiftModel", referenced from: objc-class-ref in The49DayPersonalRoomGiftModel.o ld: symbol(s) not found for a
Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_The49DayPersonalFullscreenGiftModel&q ...
- ios开发错误之: Undefined symbols for architecture x86_64
错误如下: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_RoutingHTTPServer", refere ...
- could not read symbols: File format not recognized
arm-linux-gnueabi-readelf工具解决问题 编译一个32位平台的内核时,出现如下错误提示: libschw.a: could not read symbols: File form ...
- 解决duplicate symbols for architecture x86_64错误
duplicate symbols for architecture x86_64 两个不第三方SDK之间的文件里面内容重复了,类似 file.h+file.m 和 CHfile.h+CHfile.m ...
- How to pronounce symbols on keyboard
Refefrence: http://answers.yahoo.com/question/index?qid=20100607151104AAtQxhc ~ “tilde” or “tweedle” ...
随机推荐
- Oracle SQL Developer 设置自动提示(完成设置)
- 查看SQL语句执行时间与测试SQL语句性能
查看SQL语句执行时间与测试SQL语句性能 写程序的人,往往需要分析所写的SQL语句是否够优化.是否能提升执行效率,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了 ...
- ITest
渗透测试入门 我很简单,请不要欺负我 网站综合渗透实验: 真的很简单: 你是会员吗: 2015中国网络安全大赛 一.代码执行: 同DZ漏洞全家桶中的"又见DZ,我能那你怎么办". ...
- 表单与JQuery
表单: Html标签注意: 1.提交action 2.提交按钮:类型一定为type="submit" ,不然无反应 3. Jquery: 个人认为属于JS 1.一般不用表单提交 2 ...
- 关于 HSSF 和 XSSF 功能的开发者入门指南 (Apache POI 操作 Excel)
关于 HSSF 和 XSSF 功能的开发者入门指南 笔者深夜无眠,特此对本文翻译一部分,未完成部分待后续更新 本文源文地址 意欲使用 HSSF 和 XSSF 功能快熟读写电子表格?那本文就是为你而写的 ...
- ACdream 1064 完美数
数位dp. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #incl ...
- 第七十一,CSS颜色与度量单位
CSS颜色与度量单位 学习要点: 1.颜色表方案 2.度量单位 本章主要探讨HTML5中CSS颜色和度量单位等问题,包括颜色的选取方式.相对长度和绝对长度等. 一.颜色表方案 1 颜色的表现形式主 ...
- ggplot2 scale相关设置-坐标转换
ggplot2 scale相关设置-坐标转换 在R中坐标轴转换有多种形式,包括对数转换,平方根转换以及坐标刻度前后进行调换 用到的函数分别有: scale_x_log10(...) scale_y_l ...
- OpenCV2.x自学笔记——自适应阈值
adaptiveThreshold(src,dst, double maxValue, int adaptiveMethod, int thresholdType, int blockSize, do ...
- PHP7新功能及语法变化总结
1.标量类型声明有两种模式: 强制 (默认) 和 严格模式. 现在可以使用下列类型参数(无论用强制模式还是严格模式): 字符串(string), 整数 (int), 浮点数 (float), 以及布尔 ...