Longest Palindromic Substring
2015-07-18 16:48
393 查看
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of
S is 1000, and there exists one unique longest palindromic substring.
Solution:
S is 1000, and there exists one unique longest palindromic substring.
Solution:
class Solution { public: string longestPalindrome(string s) { string res; int len = s.length(); if(len == 0) return res; int maxO = 0, indexO = 0; int maxE = -1, indexE = 0; for(int i = 0; i < len - 1; ++i) { int j = 1; for(; j <= (len+1)/2; ++j) { if(i-j >= 0 && i+j <= len-1 && s[i-j] == s[i+j]) continue; else break; } if(j - 1 > maxO) { maxO = j - 1; indexO = i; } if(s[i] == s[i+1]) { int j = 1; for(; j <= (len+1)/2; ++j) { if(i-j >= 0 && i+j+1 <= len-1 && s[i-j] == s[i+j+1]) continue; else break; } if(j - 1 > maxE) { maxE = j - 1; indexE = i; } } } if(maxO > maxE) res = s.substr(indexO-maxO, 2*maxO+1); else res = s.substr(indexE-maxE, 2*maxE+2); return res; } };
相关文章推荐
- dynamic_cast和static_cast
- android:How to delete a module in Android Studio?
- SimpleAdapter在GridView中运用实例
- MySQL DBA的基础面试题目
- 从头开始学习 Dojo,第 1 部分: 开始 Dojo 开发
- 一起talk C栗子吧(第二十回:C语言实例--括号匹配)
- Codeforces Beta Round #19 D. Points
- <转>如何在CentOS 5/6上安装EPEL 源
- Project Euler:Problem 76 Counting summations
- VC 获取任务栏窗口的句柄
- 计算机意外地重新启动或遇到错误。Windows 安装无法继续。若要安装Windows,请单击“确定”重新启动计算机,然后重新启动安装”。
- 用Maven整合SpringMVC+Spring+Hibernate 框架
- MySQL学习笔记——增删改查
- android view构造函数研究
- REdis数据结构服务器
- [转]java-Three Rules for Effective Exception Handling
- <转>提高iOS开发效率的方法和工具
- Memcached入门一
- 【暑假】[ 图论 ] MST、最短路总结
- 第三方登录之微信登录