LeetCode valid-parentheses

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

有效字符串需满足:

左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 > 示例 1: > > 输入: "()" > 输出: true

示例 2:

输入: "()" 输出: true

示例 3:

输入: "(]" 输出: false

示例 4:

输入: "([)]" 输出: false

示例 5:

输入: "{[]}" 输出: true

解答:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution {
public:
bool isValid(string s) {
int len = s.length();

if (len % 2) return 0;
stack<char> tmp;
for (int i = 0; i < len; i++)
{
if ((s[i] == '(') || (s[i] == '{') || (s[i] == '['))
{
tmp.push(s[i]);
}
else if (!tmp.empty() && ((s[i] == (tmp.top()+1)) || (s[i] == (tmp.top() + 2))))
{
tmp.pop();
}
else
return 0;
}
return tmp.empty();
}
};

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×