题目
输入一个字符串,其中包含 {} 六种括号,请你判断这个字符串组成的括号是否合法。
参考:连接
using System.Collections.Generic;
class BracketsMatch
{
public bool isVaild(string str)
{
Stack<char> left = new Stack<char>();
for(int i=0; i<str.Length; i++)
{
if(str[i] == '(' || str[i] == '[' || str[i] == '{')
left.Push(str[i]);
else if(str[i] == ')' || str[i] == ']' || str[i] == '}')
{
if(left.Count <=0)
return false;
char top = left.Pop();
if(top != RightToLeft(str[i]))
return false;
}
}
if(left.Count > 0)
{
return false;
}
return true;
}
private char RightToLeft(char c)
{
if(c == ']')
return '[';
else if(c == '}')
return '{';
else if(c == ')')
return '(';
else
return '0';
}
}