LeetCode: Valid Parentheses
2016-07-13 13:58
295 查看
一、题目
Given a string containing just the characters
determine if the input string is valid.
The brackets must close in the correct order,
all valid but
not.
二、思路
利用栈的特性检测括号是否匹配。
三、代码
Given a string containing just the characters
'(',
')',
'{',
'}',
'['and
']',
determine if the input string is valid.
The brackets must close in the correct order,
"()"and
"()[]{}"are
all valid but
"(]"and
"([)]"are
not.
二、思路
利用栈的特性检测括号是否匹配。
三、代码
class Solution { public: bool isValid(string s) { int len = s.length(); stack<char> sk; for(int i = 0 ;i < len;++i){ if(s[i] == '(' || s[i] == '[' || s[i] == '{') sk.push(s[i]); else{ if(sk.empty()) return false; if(sk.top() == '(' && s[i] == ')') sk.pop(); else if(sk.top() == '[' && s[i] == ']') sk.pop(); else if(sk.top() == '{' && s[i] == '}') sk.pop(); else return false; } } return sk.empty(); } };
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- Redis02 使用Redis数据库(String类型)全面解析
- PostgreSQL ERROR: invalid escape string 解决办法
- 浅谈C++中的string 类型占几个字节
- 标准C++类string的Copy-On-Write技术
- C++实现string存取二进制数据的方法
- C#中string和StingBuilder内存中的区别实例分析
- 详解C++中实现继承string类的MyString类的步骤
- PHP STRING 陷阱原理说明
- c#中 String和string的区别介绍
- C#实现的图片、string相互转换类分享
- asp.net String.IsNullOrEmpty 方法
- JavaScript中字符串(string)转json的2种方法
- C#中string用法实例详解