LeetCode 10 正则表达式匹配
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 10 正则表达式匹配
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
https://leetcode-cn.com/problems/regular-expression-matching/
解決方案
class Solution {public boolean isMatch(String s, String p) {int m = s.length();int n = p.length();boolean[][] dp = new boolean[m + 1][n + 1];dp[0][0] = true;for (int i = 0; i <= m; i++) {for (int j = 1; j <= n; j++) {if (p.charAt(j - 1) == '*') {dp[i][j] = dp[i][j - 2];if (i != 0 && matches(s.charAt(i - 1), p.charAt(j - 2))) {dp[i][j] = dp[i][j] | dp[i - 1][j];}} else {if (i != 0 && matches(s.charAt(i - 1), p.charAt(j - 1))) {dp[i][j] = dp[i - 1][j - 1];}}}}return dp[m][n];}public boolean matches(char s, char p) {return (p == '.' || s == p);}}總結
以上是生活随笔為你收集整理的LeetCode 10 正则表达式匹配的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 9 回文数
- 下一篇: LeetCode 11 盛最多水的容器