如果您想自己动手,我会将条目存储在树形结构中。
而不是通过“”标记该结构。字符,我只会将每个条目视为完整字符串。任何标记化的实现仍然仍然必须对整个字符集进行字符串匹配,因此您也可以一次性完成所有操作。
它和常规拼写检查树之间的唯一区别是:
- 匹配需要反向进行
- 您必须考虑通配符
要解决第2点,您只需在测试结束时检查“ *”字符。
一个简单的例子:
参赛作品:
*.fark.comwww.cnn.com
树:
m -> o -> c -> . -> k -> r -> a -> f -> . -> * -> n -> n -> c -> . -> w -> w -> w
检查www.blog.fark.com将涉及到从树到第一个树的跟踪
"*"。由于遍历以结束
"*",因此存在匹配项。
检查www.cern.com将在n,n,c,…的第二个“ n”上失败。
由于遍历以以外的其他字符结束,因此检查dev.www.cnn.com也会失败
"*"。



