kmp思路
我实在没想到这个用kmp,如果正常做的话应该是ac自动机的思路,废话不多,写下我的思路,主要供我自己记忆参考的,要搞懂题建议看下官方题解,三种方法
- 首先kmp是单匹配模式,而且一般用在字符串匹配上,所以先要把树形结构转化一下,我们都知道树有三种遍历顺序,先序,中序和后序,这题用哪一种都没关系,只要两个树的遍历顺序一样就可以了,但是光这样是不行的,例如一个根节点值为3,它只有左节点值为1,另一个模式树的根节点为3,他只有右节点为1,这样的话对于中序遍历来说就会错误,其他两种遍历顺序各有各的不对的情况,所以这题在遍历的时候,要在叶节点的左右节点加一个lNULL和rNULL数,表示树结束了,这样就可以避免以上情况,究其原因就是这样做吧树的结构给确定了。
- 之后就是kmp,只要匹配到就成功了