c#题例-2025-08-21 20:00:50
日期: 2025-08-21 分类: AI写作 7次阅读
编写一个C#程序,实现一个支持通配符匹配的函数,用于判断给定的字符串是否匹配指定的模式。模式中支持以下两种通配符:
- `?` 匹配任意单个字符
- `*` 匹配任意字符序列(包括空序列)
函数签名如下:
```csharp
bool IsMatch(string input, string pattern)
```
要求:
1. 不能使用正则表达式(Regex)或任何第三方库。
2. 必须处理所有边界情况,例如多个连续的 `*`、`?` 匹配任意字符等。
3. 时间复杂度尽量优化,避免暴力递归导致超时。
示例:
```csharp
IsMatch("hello", "h*o") // 返回 true
IsMatch("hello", "he?lo") // 返回 true
IsMatch("hello", "h*ll*") // 返回 true
IsMatch("hello", "h?llo") // 返回 false
IsMatch("hello", "h*world") // 返回 false
IsMatch("", "*") // 返回 true
IsMatch("", "a*") // 返回 false
```
请写出完整实现并解释其逻辑。
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:AI写作
上一篇:无
精华推荐