c#题例-2025-08-31 17:34:14
日期: 2025-08-31 分类: AI写作 11次阅读
编写一个C#程序,实现一个支持通配符匹配的函数,满足以下条件:
- 函数签名:`bool IsMatch(string text, string pattern)`
- 支持以下通配符语义:
- `'.'` 匹配任意单个字符
- `'*'` 匹配前面的元素(即前一个字符或 `'.'`)零次或多次,且匹配规则为贪婪最长匹配
- 匹配需覆盖整个输入字符串(即必须完全匹配)
示例:
```csharp
IsMatch("aa", "a") // false
IsMatch("aa", "a*") // true
IsMatch("ab", ".*") // true
IsMatch("aab", "c*a*b") // true
IsMatch("aab", "a*b") // false
IsMatch("abcd", "a.*d") // true
```
要求:
- 不使用正则表达式库(如 `System.Text.RegularExpressions`)
- 实现高效的匹配算法,时间复杂度尽量控制在 O(m × n),其中 m 和 n 分别为字符串和模式的长度
- 考虑边界情况和复杂嵌套 `*` 的情况
请写出该函数的完整实现及测试用例。
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:AI写作
精华推荐