博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
<每日 1 OJ> -LeetCode20. 有效的括号
阅读量:5293 次
发布时间:2019-06-14

本文共 913 字,大约阅读时间需要 3 分钟。

题目:

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。

左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。

示例 1:

输入: "()"

输出: true
示例 2:

输入: "()[]{}"

输出: true
示例 3:

输入: "(]"

输出: false
示例 4:

输入: "([)]"

输出: false
示例 5:

输入: "{[]}"

输出: true

 

代码:

bool isValid(char* s){    if( s == NULL )        return false;    char *stack = (char *) malloc( sizeof(char) * ( strlen(s)+1 ) );    int top = 0;    for( int i=0; s[i]!='\0'; i++)    {        if(s[i]=='(' || s[i]=='[' || s[i]=='{
') //左括号入栈 stack[++top] = s[i]; else if( (s[i]==')'&&stack[top]=='(') || (s[i]==']'&&stack[top]=='[') || (s[i]=='}'&&stack[top]=='{
') ) //右括号比对 top--; else //比对失败 return false; } if( stack!= NULL) { free(stack); stack = NULL; } if( top == 0 ) //字符串结束且栈空 return true; return false;}

 

转载于:https://www.cnblogs.com/mhq-martin/p/11437680.html

你可能感兴趣的文章
解决微信授权回调页面域名只能设置一个的问题 [php]
查看>>
HDU 4671 Backup Plan 构造
查看>>
linux下编译openjdk8
查看>>
【python】--迭代器生成器装饰器
查看>>
Pow(x, n)
查看>>
安卓当中的线程和每秒刷一次
查看>>
MySQL Proxy
查看>>
关于Vue的组件的通用性问题
查看>>
随机颜色值
查看>>
每日一库:Modernizr.js,es5-shim.js,es5-safe.js
查看>>
目录相关的操作
查看>>
解决虚拟机vmware安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题...
查看>>
C++----练习--引用头文件
查看>>
11.基本包装类型
查看>>
ajax连接服务器框架
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
利用maven管理项目之POM文件配置
查看>>
用HttpCombiner来减少js和css的请问次数
查看>>
FUSE-用户空间文件系统
查看>>
将tiff文件转化为jpg文件并保存
查看>>