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” ...
随机推荐
- 如何设置linux的文件和目录的权限
1 字符表示法 1)chmod [-R] 权限(mode)file 注:[-R]会将目录下所有权限都设置成指定的 who operator permission u(owner) +增加权限 r( ...
- php MYSQL 一条语句中COUNT出不同的条件
SELECT DISTINCT c.uid, count( 1 ) AS zongji, count( if( task_type = 'mobile', true, NULL ) ) AS mobi ...
- Okhttp设置http缓存,在没有网络的情况下加载http缓存里面的内容
HTTP_CACHE_FILENAME为缓存地址根路径: private final String HTTP_CACHE_FILENAME = "HttpCache"; priva ...
- Linux增加swap分区大小
1. 查看当前分区情况 free -m 2. 增加 swap 大小, 2G 左右 dd if=/dev/zero of=/var/swap bs=1024 count=2048000 3. 设置交换文 ...
- MySQL字段自增自减的SQL语句
MySQL的自增语句大家应该都很熟悉 也很简单 update `info` set `comments` = `comments`+1 WHERE `id` = 32 这样就可以了,但是有时候我们会涉 ...
- CodeForces 696C PLEASE
快速幂,费马小定理,逆元. 设$dp[n]$表示$n$次操作之后的概率,那么$dp[n] = \frac{{(1 - dp[n - 1])}}{2}$.$1-dp[n - 1]$表示上一次没有在中间的 ...
- em,strong,b,i的区别
文章来源: http://www.zhihu.com/question/19551271 默认样式: strong=b=粗体 em=i=斜体 HTML4.01: strong,em代表语义,从语义 ...
- Apple pay的使用
Apple pay的使用场景:1.app内:唯品会. 2.线下场景:万达 Apple pay的硬件要求:iphone6 以上 苹果婊 Apple pay的软件要求:国内(应该是)iOS9.2以上 ...
- JavaScript的DOM(文档对象)基础语法总结2
1.getAttribute()方法,通过元素节点的属性名称获取属性的值. //语法 elementNode.getAttribute(name) //element(元素);Node(节点) //注 ...
- AVFoundation--AVCaptureSession
// // ViewController.m // AVFountionCamera // // Created by ZhuYi on 16/5/3. // Copyright © 2016年 DD ...