关闭

Wildcard Matching

94人阅读 评论(0) 收藏 举报
分类:

迭代:


#include<iostream>
using namespace std;
class Solution
{
public: bool isMatch(const char *s, const char *p)
        {
            int i=0,j=0;
            bool str=false;
            for(;s[i]!='\0';i++,j++)
            {
                switch (p[j])
                {
                case '?':   
                    break;
                case '*':
                    while(p[j]=='*')
                        j++;
                    if(p[j]=='\0') 
                        return true;
                    str=true;
                    i--;
                    j--;
                    break;
                default:
                    if(s[i]!=p[j])
                    {   
                        if(!str)
                            return false;
                        else
                            j--;
                            break;
                    }
                }
            }
            while(p[j++]=='*');
            return p[j]=='\0';
        }
};

void main()
{
    Solution solution;
    cout<<solution.isMatch("aab","*a*b");
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7264次
    • 积分:568
    • 等级:
    • 排名:千里之外
    • 原创:51篇
    • 转载:6篇
    • 译文:0篇
    • 评论:1条
    最新评论