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” ...
随机推荐
- css后续属性
- Android5.1源码Xposed框架编译
介绍 Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作 . 对于Android5.1系统,官方提供 ...
- git中添加多个SSH公钥,以及不同系统之间的差别
git学习已经也有一段时间了,基本的操作,口令会了一点点,但是还没有git团队开发的实践,这个有待加强~ git是在windows下面模拟Linux环境的,linux自带的ssh服务,可以通过该服务远 ...
- Misha and Palindrome Degree
Misha and Palindrome Degree 题目链接:http://codeforces.com/problemset/problem/501/E 贪心 如果区间[L,R]满足条件,那么区 ...
- js--时钟(图片)
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- 配置IIS提示打开目录浏览时的问题:未能从程序集“System.ServiceModel, Version=3.0.0.0”中加载类型“System.ServiceModel.Activation.HttpModule” 的解决办法
错误消息: 未能从程序集“System.ServiceModel, Version=3.0.0.0”中加载类型“System.ServiceModel.Activation.HttpModule” 的 ...
- SLF4J 教程
转自:SLF4J 教程 一.介绍:简单日记门面(simple logging Facade for java)SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署 ...
- java中的日期处理
学习Java日期处理,看见这一篇比较详细,转载之. 转自:http://www.cnblogs.com/hqr9313/archive/2012/04/19/2458221.html 时间日期1) ...
- java方法的多态性理解
1.什么是java的多态 浏览了别人博客中的一些介绍多态的文章,发现大家的描述有点不一样,主要区别在于是否把方法的重写算做多态.一种我比较认同的说法如下: 多态分为两种 a. 编译时多态:方法的重载: ...
- FreeBSD安装桌面环境
安装Xorg cd /usr/ports/x11/xorg-minimal make install clean 或 pkg install xorg-minimal 如果最小化安装xorg-serv ...