标签:style blog color io ar for art div cti
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
思路:
1 class Solution { 2 public: 3 bool isMatch( const char *s, const char *p ) { 4 const char *star = 0, *ss = s; 5 while( *s ) 6 { 7 if( *p == ‘?‘ || *p == *s ) { ++s; ++p; continue; } 8 if( *p == ‘*‘ ) { star = p++; ss = s; continue; } 9 if( star ) { p = star + 1; s = ++ss; continue; } 10 return false; 11 } 12 while( *p == ‘*‘ ){ ++p; } 13 return !*p; 14 } 15 };
标签:style blog color io ar for art div cti
原文地址:http://www.cnblogs.com/moderate-fish/p/3940429.html