Java 一个leetcode程序,不理解语句

Java 一个leetcode程序,不理解语句,java,c++,Java,C++,“.”匹配任何单个字符。 “*”与前面元素的零个或多个匹配。 匹配应该覆盖整个输入字符串(而不是部分) 功能原型应为: 布尔isMatch(常量字符*s,常量字符*p) 一些例子: isMatch(“aa”,”a”) → false isMatch(“aa”,”aa”) → true isMatch(“aaa”,”aa”) → false isMatch(“aa”, “a*”) → true isMatch(“aa”, “.*”) → true isMatch(“ab”, “.*”) → tru

“.”匹配任何单个字符。 “*”与前面元素的零个或多个匹配。 匹配应该覆盖整个输入字符串(而不是部分)

功能原型应为: 布尔isMatch(常量字符*s,常量字符*p)

一些例子:

isMatch(“aa”,”a”) → false
isMatch(“aa”,”aa”) → true
isMatch(“aaa”,”aa”) → false
isMatch(“aa”, “a*”) → true
isMatch(“aa”, “.*”) → true
isMatch(“ab”, “.*”) → true
isMatch(“aab”, “c*a*b”) → true
最后一行

isMatch(“aab”, “c*a*b”) → true
我不确定
*
的意思, 我只想到
*
可以匹配许多字符的零,比如
*
可以匹配任何字符串(字符序列),但它似乎不正确

“*”与前面元素的零个或多个匹配

c*a*b
可以翻译为

c-0次、a-2次和b-1次

因此,相当于
aab
。在提供的定义中,需要注意的关键问题是-“*”匹配前面元素的零个或多个