码迷,mamicode.com
首页 > 其他好文 > 详细

[LeetCode]-005-Longest Palindromic Substring

时间:2015-04-28 22:56:08      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

网址:https://leetcode.com/problems/longest-palindromic-substring/

题意:

找出最长回文字符串.

解法1:

自然是暴力枚举,把每一个元素从中间往左右遍历,如果是且是最长的存下字符串.

比如abccba.

定位元素是2->c.

找左1->b.不行

找右3->c.可以->找左右同时->找左右同时

找左右同时.不行

思路就是试3次,只要有可以的就试到底.

代码:

https://github.com/LiLane/leetcode/blob/master/java/005-LongestPalindromicSubstring-201504282020.java

https://github.com/LiLane/leetcode/blob/master/c%2B%2B/005-LongestPalindromicSubstring-201504282020.cpp

解法2:

动规,把两个下标(开始和结束)记录,这样就不用记录字符串,

先遍历距离0和1的所有子元素.

再根据flag[left+1][right-1]和s[left]==s[right]这种模式来判断是不是回文.

在这种情况,解法2并不比解法1更优.

但代码更加具有威力,

当逻辑更加复杂时,解法2一定比解法1更容易改动、优化、理解.

代码:

https://github.com/LiLane/leetcode/blob/master/java/005-LongestPalindromicSubstring-201504282100.java

https://github.com/LiLane/leetcode/blob/master/c%2B%2B/005-LongestPalindromicSubstring-201504282053.cpp

[LeetCode]-005-Longest Palindromic Substring

标签:

原文地址:http://blog.csdn.net/lane_l/article/details/45341029

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!