1、题目

2、解法(使用回溯法)
class Solution {
public boolean isMatch(String s, String p) {
// 空空也是匹配
if (p.isEmpty()) {
return s.isEmpty();
}
Boolean firMatch = (!s.isEmpty()) &&
(s.charAt(0) == p.charAt(0) || p.charAt(0) == '.');
if(p.length() > 1 && p.charAt(1) == '*') {
// 1、有*这部分没有用,删除
// 2、*可以代表多个字符
// 3、取到的子字符串有可能为空
return (isMatch(s, p.substring(2))) || (firMatch && isMatch(s.substring(1), p));
} else {
// 一个个判断字符是否嘻嘻昂等
return firMatch && isMatch(s.substring(1), p.substring(1));
}
}
}
3、思考
1、时间复杂度和空间复杂度,暂时没有看懂
2、

158

被折叠的 条评论
为什么被折叠?



