CSharp 括号匹配 源代码
时间: 2023-10-23 12:08:46 浏览: 44
以下是一个简单的 C# 括号匹配程序的源代码:
```
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
string input = Console.ReadLine();
if (IsValid(input))
{
Console.WriteLine("Valid");
}
else
{
Console.WriteLine("Invalid");
}
}
static bool IsValid(string input)
{
Stack<char> stack = new Stack<char>();
foreach (char c in input)
{
if (c == '(' || c == '[' || c == '{')
{
stack.Push(c);
}
else if (c == ')' || c == ']' || c == '}')
{
if (stack.Count == 0)
{
return false;
}
char top = stack.Pop();
if ((c == ')' && top != '(') || (c == ']' && top != '[') || (c == '}' && top != '{'))
{
return false;
}
}
}
return stack.Count == 0;
}
}
```
该程序使用了一个 `Stack` 来存储左括号。当遇到右括号时,程序会弹出左括号并检查是否匹配。如果左括号和右括号不匹配,程序会返回 `false`,表示该字符串不是一个有效的括号序列。如果最后 `Stack` 中还有剩余的左括号,也表示该字符串不是一个有效的括号序列。
相关推荐
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)