zoukankan      html  css  js  c++  java
  • 通配符匹配_leetcode44

     

     

     

     

    bool isMatch(char* s, char* p) {
       int m=strlen(s);
       int n=strlen(p);
       int dp[m+1][n+1];
       memset(dp,0,sizeof(dp));
       dp[0][0]=true;
       int i,j;
    //对边界问题进行处理
       for(i=1;i<=n;i++)
       {
           if(p[i-1]=='*')
           {
               dp[0][i]=true;
           }
           else
           {
               break;
           }
       }
       for(i=1;i<=m;i++)
       {
           for(j=1;j<=n;j++){
               /*
               if(p[j-1]=='*')     //比较*的情况
               {
                   dp[i][j]=dp[i][j-1]|dp[i-1][j];
               }
               else
               */
               if(p[j-1]=='?'||s[i-1]==p[j-1])  //比较?和全字母的情况
               {
                   dp[i][j]=dp[i-1][j-1];
               }
               else if(p[j-1]=='*')
               {
                   dp[i][j]=dp[i][j-1]|dp[i-1][j];
               }

           }
       }
       return dp[m][n];
    }
  • 相关阅读:
    ZOJ 3705 Applications
    UVA 220 Othello
    HDU 2084 数塔
    第五章:变量
    第四章:注释
    第三章:程序结构
    第二章:项目的创建和环境熟悉
    第一章:c#开发环境安装
    处理字段串
    查询表的列信息
  • 原文地址:https://www.cnblogs.com/sbb-first-blog/p/13252476.html
Copyright © 2011-2022 走看看