c#题例-2025-08-26 10:26:30
日期: 2025-08-26 分类: AI写作 83次阅读
编写一个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写作
精华推荐

