[LeetCode]Longest Palindromic Substring
2015-10-09 08:32
302 查看
题目:点击打开链接
public class Solution { public String longestPalindrome(String s) { if (null == s) { return null; } int length = s.length(); if (1 >= length) { return s; } int longest = 1; int start = 0; int center = 0; while (center + 1 < length) { if ((length - center) * 2 + 1 < longest) { break; } int i = 0; while ((center + i < length) && (s.charAt(center + i) == s.charAt(center))) { i++; } int step = 1; while ((center >= step) && (center + step + i < length + 1) && (s.charAt(center - step) == s.charAt(center + step + i - 1))) { step++; } step--; if (step * 2 + i > longest) { longest = step * 2 + i; start = center - step; } center += i; } return s.substring(start, start + longest); } }
相关文章推荐
- 差分序列
- 第6周项目3-括号的匹配
- 第四周 多项式求和
- 第六周 项目2-建立链栈算法库
- VS2010+2.4.11的persistence.cpp line 5008 错误
- open cv 安装篇
- 项目4 -- 数制转换
- MFC如何使控件大小随着对话框大小自动调整
- 第六周上机实践—项目3—括号的匹配
- 第三周,项目二
- 网站收藏
- 天下没有不会这么回事!不会就学——北漂18年(28)
- 第四周实践项目6-多项式求和
- 第六周 项目1-建立顺序栈算法库
- 第三周项目4 顺序表的应用
- 第六周—项目3 - 括号的匹配
- 第六周 项目1-建立顺序栈算法库
- 第四周项目3-单链表应用(1)
- 加载图片的几种方式
- ECS Linux开启swap(虚拟内存)