我有一组固定的未知模式字符串,它们使用通配符*
和?
(?
=一个字符,*
=零个或多个字符)。例如:
"abcd?"
"dogcat*"
"*car"
"hello*world"
我想从这些模式中生成一些数据结构,它有一个名为findPattern
. 该方法接受一个保证最多匹配一个模式的字符串,并返回字符串匹配的模式(如果有的话)。
在上面的例子中:
findPattern("abcde")
返回"abcd?"
findPattern("hellocar")
返回"*car"
findPattern("edbca")
返回null
"dogcatfrogcar"
保证不会将诸如此类的字符串作为此方法的输入。
构建数据结构可能很慢,因为模式集只给出一次。该函数将被同一模式集上的许多字符串调用,因此它需要高效。
我如何实现这一目标?
PS我是编程语言不可知论者