【LeetCode】20. Valid Parentheses
2018-03-07 15:36
369 查看
Description:Given a string containing just the characters
public:
bool isValid(string s)
{
if(s.size()==1)
return false;
stack<char> st;
for (int i = 0; i<s.size(); i++)
{
if ((s[i] == '(') || (s[i] == '[') || (s[i] == '{'))
st.push(s[i]);
else
{
if(st.empty())
return false;
if (s[i] == ')' && !st.empty() && st.top() == '(')
st.pop();
else if (s[i] == ')' && st.top() != '(' )
return false;
if (s[i] == ']' && !st.empty() && st.top() == '[')
st.pop();
else if (s[i] == ']' && st.top() != '[')
return false;
if (s[i] == '}' && !st.empty() && st.top() == '{')
st.pop();
else if (s[i] == '}' && st.top() != '{')
return false;
}
}
if(st.empty())
return true;
else
return false;
}
};关于堆栈的用法
点击打开链接
'(',
')',
'{',
'}',
'['and
']', determine if the input string is valid.The brackets must close in the correct order,
"()"and
"()[]{}"are all valid but
"(]"and
"([)]"are not.思路:用堆栈。1.括号总是成对出现的,遇到左括号进栈2.遇到右括号则与栈顶符号比较,匹配则栈顶出栈3.重复代码如下:class Solution {
public:
bool isValid(string s)
{
if(s.size()==1)
return false;
stack<char> st;
for (int i = 0; i<s.size(); i++)
{
if ((s[i] == '(') || (s[i] == '[') || (s[i] == '{'))
st.push(s[i]);
else
{
if(st.empty())
return false;
if (s[i] == ')' && !st.empty() && st.top() == '(')
st.pop();
else if (s[i] == ')' && st.top() != '(' )
return false;
if (s[i] == ']' && !st.empty() && st.top() == '[')
st.pop();
else if (s[i] == ']' && st.top() != '[')
return false;
if (s[i] == '}' && !st.empty() && st.top() == '{')
st.pop();
else if (s[i] == '}' && st.top() != '{')
return false;
}
}
if(st.empty())
return true;
else
return false;
}
};关于堆栈的用法
点击打开链接
相关文章推荐
- [LeetCode]20. Valid Parentheses
- Leetcode题解14 20. Valid Parentheses
- LeetCode 20:Valid Parentheses
- leetcode 20. Valid Parentheses
- [leetcode] 20 Valid Parentheses
- leetCode 20.Valid Parentheses (有效的括号) 解题思路和方法
- leetcode 20. Valid Parentheses——python(easy)——使用了堆栈
- Leetcode -- 20. Valid Parentheses
- LeetCode 20. Valid Parentheses
- leetcode 20. Valid Parentheses
- 蜗牛慢慢爬 LeetCode 20. Valid Parentheses [Difficulty: Easy]
- Leetcode 20 Valid Parentheses
- Leetcode 20 Valid Parentheses
- leetcode 20. Valid Parentheses
- 【LeetCode】20. Valid Parentheses
- LeetCode20——Valid Parentheses
- (Java)LeetCode-20. Valid Parentheses
- <LeetCode OJ> 20. Valid Parentheses
- 【LeetCode20】【Valid Parentheses】
- leetcode 20 Valid Parentheses C++