代码改变世界

每日leetcode 一题 (44)通配符匹配

2020-01-26 23:24  爱吃红烧排骨的小尖刀  阅读(139)  评论(0)    收藏  举报

 

 题目如上:意思就是,比较两个字符串是否从头匹配到尾,如果p[i]为'?',则可以匹配单个字符,如果p[i]为'*',则可以匹配零个或任意字符。

双指针算法:scur与pcur分别为字符串s和字符串p当前匹配的位置,sstar与pstar分别为当p[i]为‘*'时两个字符串的对应位置。

判断能否匹配的条件:1.对应字符不相等时;

          2.当某一字符串遍历完,另一字符串仍未遍历完,特殊情况,若s遍历完,p未遍历完,但是p剩下的为‘*’字符时,一直++直到为空或者不相等;

 

 代码如上。