Brief 6ms C code
\nbool isMatch(char* s, char* p) {\n    char *p0 = NULL, *s0 = NULL;\n    while (*s) {\n        if (*p == *s || *p == '?') {\n            p++; \n            s++
```\nbool isMatch(char* s, char* p) {\n    char *p0 = NULL, *s0 = NULL;\n    while (*s) {\n        if (*p == *s || *p == '?') {\n            p++; \n            s++;\n        }else if (*p == '*') { // save\n            p0 = ++p;\n            s0 = s;\n        }else if (p0 != NULL) { // load\n            p = p0;\n            s = ++s0;\n        }else {\n            return false;\n        }\n    }\n    while (*p == '*') p++;\n    return !*s && !*p;\n}\n```
[]