Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >AI写作

c#题例-2025-08-26 10:26:30

编写一个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

上一篇:无

下一篇: c#题例-2025-08-26 04:53:05

精华推荐