背景
有需要看我前一篇题解的点这里
废话不多说,赶紧开始!
3.回文
//本题借鉴了一下别人的算法
令s1=L
找出与 a1 的唯一一个位置,记作p,则序列被划分为两段,a[2...p-1]和a[p+1...2n]。
可以将这两段分别看成两个栈:栈 T1:a[2...p-1]的栈顶为22,栈底为p−1。
栈T2:a[p+1...2n]的栈顶为2n,栈底为p+1。
则问题转化为每次可以取走这两个栈之一的栈顶,令最终得到的串是回文串。
自然,只有存在某个数x,既在栈顶,又在栈底