题面 就是让你--在字符串A中,如果字符串B是A的子串,那么就删除在A中第一个出现的B,然后拼接在一起,一直重复上述步骤直到B不再是A的子串 |A|\(\le 10^6\) 思路: KMP+栈 1.由于是两个字符串匹配的问题,当然一下子就会想到KMP 2.由于是删去一段区间,很多人第一反应会想到链表,但是在这里,其实删除了一段后,对之前是没有影响的,并且,一定是从后往前删除,所以,更优的存储结构应该是栈. 3.有人会问,为什么删去对前面没有影响,这就根据KMP的原理,做到i这个位置的结果就是最优…