c#题例-2025-08-26 10:26:30
日期: 2025-08-26 分类: AI写作 6次阅读
编写一个C#程序,实现一个支持通配符匹配的函数,用于判断给定的字符串是否匹配给定模式。函数需满足以下条件:
- 通配符包含 `'?'` 和 `'*'`:
- `'?'` 匹配 **任意单个字符**。
- `'*'` 匹配 **任意字符序列(包括空序列)**。
函数签名如下:
```csharp
bool IsMatch(string s, string p);
```
**要求:**
1. 实现该函数的逻辑,不使用正则表达式(Regex)。
2. 时间复杂度应为 O(n * m),其中 n 和 m 分别是字符串 `s` 和模式 `p` 的长度。
3. 不得使用任何内置的缓存或记忆化机制(如 `Memoization` 或 `Cache`)。
4. 处理各种边界情况,包括多个连续的 `'*'`、模式以 `*` 开头或结尾等。
**示例:**
```csharp
IsMatch("aa", "a") // false
IsMatch("aa", "*") // true
IsMatch("cb", "?a") // false
IsMatch("abcdef", "a*f") // true
IsMatch("ab", "?*") // true
IsMatch("aab", "c*b") // false
```
请编写完整的 C# 函数实现并解释其核心思想。
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:AI写作
上一篇:无
精华推荐