您的位置:首页 > 其它

LeetCode::Wildcard Matching

2014-10-07 17:05 435 查看
https://oj.leetcode.com/problems/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* stemp = nullptr;
const char* asterisk = nullptr;
while(*s != '\0') {
if (*p == *s || *p == '?') {
s++;
p++;
continue;
}

if (*p == '*') {
stemp = s;
asterisk = p;
p++;
continue;
}

if (asterisk != nullptr) {
s = ++stemp;
p = asterisk + 1;
continue;
}

return false;
}

while (*p == '*') {
p++;
}

return *p == '\0';
}
};



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: