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” ...
随机推荐
- 阿里云 CentOS7.2 配置FTP+Node.js环境
本人小白,写下这篇博客意在记录踩过的坑,大神请绕道~ 准备工作 安装自己喜欢的连接软件(一般是putty或者xshell),本人选择的是xshell,软件如图 : 通过软件中的ssh连接连接上已经购买 ...
- jquery常用的选择器
jquery用选择器来得到jquery对象,进而进行一些操作. 一.基本选择器 1.id选择器.示例:选择id为one的元素 var $one = $("#one"); 2.类选择 ...
- mac 配置快捷键快速锁屏
mac下锁屏方式有很多: 快捷键control+shift+power 在其他中打开钥匙串访问,讲屏幕锁定按钮显示在menu bar中 这两种方法存在弊端: 按三个键去锁定屏幕太费劲,况且让使用外接键 ...
- ubuntu 14.04 安装matlab2015b(破解版),具体软件请访问我的网盘~
本文章转载自:http://www.cnblogs.com/ttzm/p/5475086.html 1.下载matlab的Unix版本:安装文件放在某目录下(如在Downloads下,则文件的完整路径 ...
- 简单的Android之apk包反编译方法
网上相关的文章一大堆了,我只是总结下自己的反编译方法和工具 工具下载地址: http://download.csdn.net/detail/zsjangel/7104663 下载上面的三个工具的压缩包 ...
- Jira 6.0.3安装破解汉化
前段时间和上海的朋友交流了下,他们公司使用JIRA管理项目.回来整理了下感觉很不错. http://www.unlimax.com/jira.html工作中总是有各种事务要去处理,而这些事务不仅仅是代 ...
- html5权威指南:标记文字
html5权威指南-第八章-用基本的文字元素标记内容 :http://www.cnblogs.com/yc-755909659/archive/2016/10/02/5928122.html html ...
- Java 泛型 泛型代码和虚拟机
Java 泛型 泛型代码和虚拟机 @author ixenos 类型擦除.原始类型.给JVM的指令.桥方法.Java泛型转换的事实 l 类型擦除(type erasure) n Java泛型的处理 ...
- HDU 3835 R(N)(枚举)
题目链接 Problem Description We know that some positive integer x can be expressed as x=A^2+B^2(A,B are ...
- AWS ec2 vpn 搭建(20161014更新http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm)
1.原来的SoftEther VPN Server在pc端不可用了,没找到原因,因此有搜索到了一个新方法,转自http://blog.csdn.net/henryng1994/article/deta ...