博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode:Wildcard Matching
阅读量:5052 次
发布时间:2019-06-12

本文共 919 字,大约阅读时间需要 3 分钟。

Implement wildcard pattern matching with support for '?' and '*'.

 

DP:

dp[i][j] = 1 表示s[1~i] 和 p[1~j] match。

则:

if p[j] == '*' && (dp[i][j-1] || dp[i-1][j]) 

dp[i][j] =  1 

else p[j] = ? || p[j] == s[i]

dp[i][j] = dp[i-1][j-1];

else dp[i][j] = false;

 

1 bool isMatch(const char *s, const char *p) { 2         const char *position = NULL; 3         const char *sp = NULL; 4  5         while (*s) { 6             if (*s == *p || *p == '?') { 7                 s++;  8                 p++; 9             }10             else if (*p == '*') {11                 position = p;12                 p++;13                 sp = s;14             }15             else if (position) {16                 p = position + 1;17                 s = ++sp;18             }19             else return false;20         }21 22         while (*p == '*') p++;23 24         return *p == '\0'; 25     }

 

转载于:https://www.cnblogs.com/longhorn/p/3735782.html

你可能感兴趣的文章
HEVC播放器出炉,迅雷看看支持H.265
查看>>
[置顶] Android仿人人客户端(v5.7.1)——人人授权访问界面
查看>>
Eclipse 调试的时候Tomcat报错启动不了
查看>>
【安卓5】高级控件——拖动条SeekBar
查看>>
ES6内置方法find 和 filter的区别在哪
查看>>
Android入门之文件系统操作(二)文件操作相关指令
查看>>
Android实现 ScrollView + ListView无滚动条滚动
查看>>
Swift 中的指针使用
查看>>
Swift - 使用闭包筛选过滤数据元素
查看>>
alue of type java.lang.String cannot be converted to JSONObject
查看>>
搜索引擎选择: Elasticsearch与Solr
查看>>
JAVA设计模式之简单工厂模式与工厂方法模式
查看>>
③面向对象程序设计——封装
查看>>
【19】AngularJS 应用
查看>>
Spring
查看>>
Linux 系统的/var目录
查看>>
Redis学习---Redis操作之其他操作
查看>>
WebService中的DataSet序列化使用
查看>>
BZOJ 1200 木梳
查看>>
【Linux】【C语言】菜鸟学习日志(一) 一步一步学习在Linxu下测试程序的运行时间...
查看>>