JasonChang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 1 public class Solution {
 2     public boolean isMatch(String s, String p) {
 3         // IMPORTANT: Please reset any member data you declared, as
 4         // the same Solution instance will be reused for each test case.
 5         int sLen = s.length(), pLen = p.length();
 6         int i = 0, j = 0;
 7         int ss = 0, starP = -1;
 8         while (i < sLen) {
 9             
10             while(j < pLen && p.charAt(j) == '*'){
11                 starP = j++;
12                 ss = i;
13             }
14             
15             if((j == pLen) || (s.charAt(i) != p.charAt(j) && p.charAt(j) != '?')){
16                 if(starP < 0){
17                     return false;
18                 } else {
19                     j = starP + 1;
20                     i = ++ss;
21                 }
22             } else{
23                 i++;
24                 j++;
25             }
26             
27             
28         }
29         while (j < pLen && p.charAt(j) == '*') {
30             j++;
31         }
32         return j == pLen;
33     }
34 }

 

posted on 2013-11-20 14:44  JasonChang  阅读(209)  评论(0编辑  收藏  举报