o(n)

learn from http://leetcode.com/2011/11/longest-palindromic-substring-part-ii.html