赞
踩
- class Solution {
- public:
- bool isMatch(string s, string p) {
- int slen = s.length();
- int plen = p.length();
- int num = 0;
- for(int i=0; i<plen; i++){
- if(p[i]=='*') num+=1;
- }
- if(plen-num > slen) return false;
- vector<bool> pre(plen+1, false);
- pre[0] = true;
- for(int j=1; j<=plen; j++){
- pre[j] = pre[j-1] &&(p[j-1]=='*');
- }
- for(int i=1;i<=slen;i++){
- vector<bool> cur(plen+1, false);
- for(int j=1; j<=plen; j++){
- if(p[j-1] !='*'){
- cur[j] = pre[j-1]&&(s[i-1]==p[j-1] || p[j-1]=='?');
- }
- else{
- cur[j] = cur[j-1] || pre[j];
- }
- }
- pre = cur;
- }
- return pre[plen];
- }
- };

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。