摘要: Manacher’s Algorithm具体解释可以看http://leetcode.com/2011/11/longest-palindromic-substring-part-ii.html基本思路是,预处理原字符串,在字符之间插入特殊字符“#”, 这样计算出来的回文长度总是奇数,其半径正好等于原字符串的回文长度。记录以当前位置i为中心的回文半径长度dp[i],如果i在之前某个中心c的半径r之内,即c+r > i,则dp[i]的计算可以重用它的对称点mirror = c - (i-c)的结果。如果dp[mirror] > r-i,即str[i - (r-i) ... r]是以i 阅读全文
posted @ 2013-06-12 15:39 断桥残雪 阅读(218) 评论(0) 推荐(0) 编辑