leetcode python 010
#实现正则表达式匹配并支持'.'和'*'。
#''匹配任何单个字符。
#'*'匹配前面元素的零个或多个。
#匹配应覆盖整个输入字符串(非部分)。
##Some examples:
##isMatch("aa","a") → false
##isMatch("aa","aa") → true
##isMatch("aaa","aa") → false
##isMatch("aa", "a*") → true
##isMatch("aa", ".*") → true
##isMatch("ab", ".*") → true
##isMatch("aab", "c*a*b") → true
def ismatch(s,re):
l=[]
for k in range(len(re)):
if re[k]=='*':
l.append(k)
re=''.join(re.split('*'))
for i in range(len(l)):
l[i]=l[i]-i-1
print(re)
print(l)
flg=0
for i in range(len(s)):
## *退出
while flg in l and s[i]!=re[flg] and re[flg]!='.':
flg+=1
if flg==len(re):
return False,'re too short'
if flg not in l:
if s[i]==re[flg] or re[flg]=='.':
flg+=1
else:
return False,'no *'
if i==len(s)-1:
if flg==len(re):
return True,'perfect'
else:
return False,'re too long'
print(ismatch("aaaaab", "c*a*."))
最新文章
- Java实现线性阈值模型(Linear Threshold Model)
- Solr的原理及在项目中的使用实例.
- Vc6.0头文件的定义
- win7安装oracle11g64位提示环境变量Path长度超出
- spring中各jar功能及jar包之间的依赖关系
- 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置
- js节点属性
- window.open被浏览器拦截的解决方案
- 删除内容并不能删除field structure -- features_revert
- sql STUFF用法
- hdu 4911 Inversion(归并排序求逆序对数)2014多校训练第5场
- GDI+ 填充背景时,非常多时候不起作用,GDI、GDI+配合运用
- echarts饼图点击事件
- maven的下载安装,配置本地仓库
- 用C# 模拟实现unity里的协程
- idea git 使用
- CentOS 系列安装 Docker
- SQL基础日期函数
- HDU1258 Sum It Up(DFS) 2016-07-24 14:32 57人阅读 评论(0) 收藏
- EF基础知识小记七(拆分实体到多个表以及拆分表到多个实体)