leetcode[44]Wildcard Matching
Implement wildcard pattern matching with support for '?' and '*'.
'?' Matches any single character.
'*' Matches any sequence of characters (including the empty sequence).
The matching should cover the entire input string (not partial).
The function prototype should be:
bool isMatch(const char *s, const char *p)
Some examples:
isMatch("aa","a") → false
isMatch("aa","aa") → true
isMatch("aaa","aa") → false
isMatch("aa", "*") → true
isMatch("aa", "a*") → true
isMatch("ab", "?*") → true
isMatch("aab", "c*a*b") → false
class Solution { public: bool isMatch(const char *s, const char *p) { const char *ss=NULL; const char *pp=NULL; while(*s!='\0') { if(*p==*s||*p=='?') { s++; p++; continue; } if(*p=='*') { pp=p; ss=s; p++; continue; } if(pp!='\0') { s=ss+1; p=pp+1; ss++; continue; } return false; } while(*p=='*')p++; return *p=='\0'; } };

浙公网安备 33010602011771号