正则表达式
Regular Expression Matching (Hard)问题描述关于此题正则表达式有三点要求
算法思路主要的实现思想是 递归,就是一大堆逻辑,设待匹配字符串为 s,正则表达式为 reg
AC 代码bool isMatch(string s,string p) { if (p.length() == 0) { return s.length() == 0; } if (p.length() == 1) { return (s.length() == 1) && (s[0] == p[0] || p[0] == '.'); } if (p[1] != '*') { if (s.length() == 0) { return false; } else { return (s[0] == p[0] || p[0] == '.') && isMatch(s.substr(1),p.substr(1)); } } else { while (s.length() > 0 && (s[0] == p[0] || p[0] == '.')) { if (isMatch(s,p.substr(2))) { return true; } s = s.substr(1); } return isMatch(s,p.substr(2)); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- database – PGError:ERROR:permission denied for relat
- c# – 在Xamarin Forms中获取缓存图像源的原始高度和宽度
- ajax – IE9 JSON数据到iframe:“你想打开还是保存这个文件
- Swift 可选(Optionals)类型
- LightOJ - 1214-Large Division(c++取模 + java的两种写法)
- ruby-on-rails – 如何使用Actionmailer / Ruby on Rails发
- c# – Windows 98风格的进度条
- c# – 将字符串从“yyyy-MM-dd”转换为日期时间
- Ruby Gem – LoadError
- 正则表达式例子