给定一个只包括 ‘(‘,’)’,'{‘,’}’,'[‘,’]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
- 每个右括号都有一个对应的相同类型的左括号。
class Solution
{
public:
bool isValid(string s)
{
//创建栈
stack st;
//遍历字符串
for (int i = 0; i
通过例子更好理解
如
输入: "{[()]}"
遍历字符串
①第一个字符'{‘,此时栈为空,则将'{‘放入栈中
{ |
②第二个字符'[‘,此时栈顶元素为'{‘与'[‘并不对应,则将'[‘放入栈中
[ |
{ |
③第三个字符为'(‘,栈顶元素为'[‘与'(‘不对应,放入栈中
( |
[ |
{ |
④第四个元素为’)’,栈顶元素为'(‘与’)’对应,则栈顶元素'(‘出栈
[ |
{ |
⑤第五个元素为’]’,栈顶元素为'[‘与’]’对应,栈顶元素出栈
{ |
⑥第六个元素为’}’,栈顶元素为'{‘与’}’对应,栈顶元素出栈
遍历完毕,此时栈为空,所以返回false
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net