通配符的匹配,dp
#include<stdio.h>
#include<string.h>
#define N 110
bool match(char *p,char *s)
{
int i,j,k,dp[N][N];
int plen=strlen(p+1),
slen=strlen(s+1);
for(i=0;i<=plen;++i)
for(j=0;j<=slen;++j)
{
if(i==0&&j==0)
dp[i][j]=1;
else if(p[i]==s[j])
dp[i][j]=dp[i-1][j-1];
else if(p[i]=='*')
{//遇到*的时候往前遍历查看是否有一个和i-1可以匹配的j位置,若有,则dp[i][j]=1
dp[i][j]=0;
for(k=j;k>=0;--k)
if(dp[i-1][k])
{
dp[i][j]=1;