//大概的思路就是遇到左边就push 遇到右边就pop出来比较 在里面循环肯定是false 出循环之后再判断栈是不是空,不是就是false 其余就是true
public class Solution {
public bool IsValid(string s)
{
Stack a = new Stack();
foreach (var item in s)
{
if(item == '(' || item == '[' || item =='{')
{
a.Push(item);
}
else if(a.Count != 0)
{
switch(item)
{
case ')':
{
object temp = a.Pop();
if (temp.ToString() == '('.ToString())
break;
else
return false;
}
case ']':
{
object temp = a.Pop();
if (temp.ToString() == '['.ToString())
break;
else
return false;
}
case '}':
{
object temp = a.Pop();
if (temp.ToString() == '{'.ToString())
break;
else
return false;
}
}
}
else
{
return false;
}
}
if(a.Count != 0)
{
return false;
}
return true;
}
}
力扣_有效的括号_c#
最新推荐文章于 2024-07-26 16:22:28 发布