LeetCode 20 题 判断括号使用是否正确
来源:互联网 发布:一发炮弹多少钱知乎 编辑:程序博客网 时间:2024/05/15 02:06
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.
Subscribe to see which companies asked this question
比直接判断四则运算要简单的多,可以利用栈来进行处理。
(1)遇到左括号就直接压入栈
(2)遇到右括号就弹出,如果弹出的符号和当前不匹配或者栈已经为空,则错误。
(3)如果已经遍历完以后,栈还不为空,则错误
class Solution {
public:
bool isValid(string s) {
stack<char> tempStack;
char tempChar;
for(int i = 0; i < s.size(); ++i) {
tempChar = s[i];
switch(tempChar) {
case '[':case '(':case '{':
tempStack.push(tempChar);
break;
case ')':{
if(!tempStack.empty() && tempStack.top() == '('){
tempStack.pop();
}
else
return false;
}
break;
case '}':{
if(!tempStack.empty() && tempStack.top() == '{'){
tempStack.pop();
}
else
return false;
}
break;
case ']':{
if(!tempStack.empty() && tempStack.top() == '['){
tempStack.pop();
}
else
return false;
}
break;
default:
break;
}
}
if(tempStack.empty())
return true;
else
return false;
}
};
- LeetCode 20 题 判断括号使用是否正确
- 判断括号匹配是否正确:
- 判断一个括号字符串是否匹配正确
- LeetCode-20 Valid Parentheses(判断括号是否规范)
- LeetCode Valid Parentheses判断括号是否配对
- LeetCode Valid Parentheses(判断括号是否匹配)
- “链栈”判断表达式中的括号是否正确配对
- “顺序栈”判断表达式中的括号是否正确配对
- Java - - 判断表达式中的括号是否正确配对
- Matlab 使用栈判断括号是否匹配
- 使用纯递归判断括号是否匹配
- 判断一个含多种括号的字符串是否匹配正确 (如(([]))正确,[[(()错误)
- Valid Parentheses 判断括号组合是否有效@LeetCode
- 判断括号是否匹配
- 判断括号是否匹配
- 判断括号是否配对
- 判断括号是否匹配
- 判断括号是否匹配
- Spring和MyBatis环境整合
- php调用webservice
- 燃油管理是二手挖掘机日常维修保养关键
- 对称矩阵的压缩存储实验
- Android Studio系列教程四--Gradle基础
- LeetCode 20 题 判断括号使用是否正确
- 一、WorldWindJava2.0使用
- 使用cuteftp与ubuntu虚拟机传输文件
- Maven 命令参数 整理
- Android之android.graphics.drawable.Drawable.Callback回调接口
- Android 中的定时事件使用
- [转]Android客户端和服务端如何使用Token和Session
- codeforces Moodular Arithmetic 数论
- 树形dp问题(持续更新中...)