首页 > 代码库 > LeetCode Wildcard Matching
LeetCode Wildcard Matching
class Solution {public: bool isMatch(const char *s, const char *p) { if (s == NULL || p == NULL) return false; int slen = 0; int plen = 0; while (s[slen] != ‘\0‘) slen++; while (p[plen] != ‘\0‘) plen++; if (slen == 0 && plen == 0) return true; if (plen == 0) return false; int si = 0; int pi = 0; int ppi = -1; int psi = 0; while (si < slen) { if (s[si] == p[pi] || p[pi] == ‘?‘) { si++, pi++; } else if (p[pi] == ‘*‘) { ppi = pi++; psi = si; } else if (ppi != -1){ pi = ppi + 1; si = ++psi; } else { return false; } } while (p[pi] == ‘*‘) pi++; return pi == plen; }};
真写不出这样的代码。
参考:http://www.cnblogs.com/zhuli19901106/p/3572736.html
LeetCode Wildcard Matching
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。