您的位置:首页 > 其它

[LeetCode]Wildcard Matching

2016-01-10 15:52 393 查看
public class Solution {
public boolean isMatch(String s, String p) {
int length1 = s.length();
int length2 = p.length();
if (length1 == 0) {
return p.replace("*", "").length() == 0;
}
boolean[] record = new boolean[length1 + 1];
record[0] = true;
boolean allstar = true;
for (int i = 0; i < length2; i++) {
if (allstar)
allstar = p.charAt(i) == '*';
for (int j = length1 - 1; j >= 0; j--) {
if (p.charAt(i) != '*') {
if (p.charAt(i) == s.charAt(j) || p.charAt(i) == '?') {
record[j + 1] = record[j];
} else {
record[j + 1] = false;
}
} else {
boolean flg = false;
for (int jj = j + 1; jj >= 0; jj --) {
if (record[jj]) {
flg = true;
break;
}
}
record[j + 1] = flg;
}
}
record[0] = allstar;
}
return record[length1];
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: