您的位置:首页 > 其它

leetcode - Wildcard Matching

2013-12-11 11:24 399 查看
// token form http://blog.csdn.net/sunbaigui/article/details/8981369 // still need more check
class Solution {
//if strlen is used, then it will be TLE
//iteration based solution
public:
bool isMatch(const char *s, const char *p) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
//int len1 = strlen(s);
//int len2 = strlen(p);

bool star = false;
const char* starPtr = NULL;
const char* savePtr = NULL;
while(*s != '\0')
{
if(*p == '?') s++, p++;
else if(*p == '*')
{
while(*p == '*') p++;
p--;
starPtr = p;
p++;
savePtr = s;
star = true;
}
else
{
if(*s == *p) s++, p++;
else
{
if(star == true) s = ++savePtr, p = starPtr+1;//depend on star
else return false;
}
}
}
while(*p == '*') p++;
return (*s == '\0' && *p == '\0');
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: