/// <summary>
/// 判断括号是否匹配,只支持{} [] ()
/// </summary>
/// <param name="strMatch"></param>
/// <returns></returns>
private Boolean IsCorrectMatch(string strMatch)
{
LinkStack ls = new LinkStack();
//括号匹配组
string
left = "{[(",
right = "}])";
foreach(var word in strMatch)
{
if (left.IndexOf(word) != -1)
{
//是左括号
ls.Push(word);
}
else if (right.IndexOf(word) != -1)
{
//是右括号
//取出栈顶
object obj=ls.Pop();
if(obj == null)
{
//右括号数量 大于 左括号数量
return false;
}
char match = (char)obj;
if (left.IndexOf(match) != right.IndexOf(word))
{
//不匹配
return false;
}
}
}
if (ls.Empty() == false)
{
//左括号数量 大于 右括号数量
return false;
}
return true;
}数据结构实验 第二单元 括号匹配
最新推荐文章于 2024-02-09 16:43:16 发布
本文介绍了一个简单的算法,用于判断字符串中的括号({}
2156

被折叠的 条评论
为什么被折叠?



