当前位置: 首页 > 后端技术 > Python

力扣44.通配符匹配Python实现

时间:2023-03-26 17:44:40 Python

题目要求:思路:两个字符串一一匹配,会出现三种情况。情况一:字符相等,或者字符模式p中的字符为“?”,则可以比较下一位。情况2:字符不相等,但是字符模式p中的字符是星号(*)!本例中使用一个prestar来标记遇到星号的下标,初始化prestar为-1,将字符模式p的指针移动到下一个位置,并保存s指针当前指向的下标,以标记当前比较。情况3:字符不相等,但prestar不为-1,即在此之前出现了一个星号,所以将s字符串的指针移动到之前比较过的下一个位置,然后比较并改变匹配到下一个位置。如果不是以上三种情况,即当前两个字符不一样,且前面没有星号,说明两个字符串真的不一样,返回False核心代码:i,j,prestar,match=0,0,-1,-1whileibool:i,j,prestar,match=0,0,-1,-1whilei