leetcode Longest Palindromic Substring
来源:互联网 发布:传奇数据溢出 编辑:程序博客网 时间:2024/06/06 04:38
Longest Palindromic Substring
My SubmissionsTotal Accepted: 70417 Total Submissions: 338025 Difficulty: Medium
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.
Show Similar Problems
Have you met this question in a real interview?
Yes
No
Discuss
算法转自http://www.cnblogs.com/caterpillarofharvard/articles/4245626.html,但是由于本人理解力切佳,所以就在纸上画了画。
代码如下:
// test5LongestPalindromicSubstring.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "string"#include "vector"using std::string;using std::vector;string longPalindrome(string s){if (s.size() < 2)return s;int center=0, right=0;int max = 0;int j = 0;int n = s.size();vector<int> len;int currentlen = 0;len.push_back(1);for (int i = 1; i < n; i++){if (i <= right){j = 2 * center - i;if (len[j] + i < center){currentlen = len[j];len.push_back(currentlen);continue;}}currentlen = 0;int l = i, r = i;while (l >= 0 && r<n && s[l] == s[r])//注意此处,最后一个判定条件必须放到后面的后面,否则将会出错。{currentlen++;r++;l--;}len.push_back(currentlen);if (currentlen > max){center = i;right = center + currentlen - 1;max = currentlen;}}string result = "";int left = center - max + 1;if (left % 2 == 0)left++;while (left<right){result += s[left];left+=2;}return result;}string longestPalindrome(string s){if (s.size() < 2)return s;string temp = "#";for (int i = 0; i < s.size(); i++){temp += s[i];temp += '#';}return longPalindrome(temp);}int _tmain(int argc, _TCHAR* argv[]){string s = longestPalindrome("aaaba");return 0;}
0 0
- LeetCode: Longest Palindromic Substring
- LeetCode Longest Palindromic Substring
- LeetCode: Longest Palindromic Substring
- [Leetcode] Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring
- Leetcode : Longest Palindromic Substring
- [LeetCode]Longest Palindromic Substring
- leetcode Longest Palindromic Substring
- LeetCode-Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring
- Longest Palindromic Substring leetcode
- LeetCode Longest Palindromic Substring
- LeetCode - Longest Palindromic Substring
- LeetCode -- Longest Palindromic Substring
- LeetCode | Longest Palindromic Substring
- LeetCode: Longest Palindromic Substring
- [LeetCode]Longest Palindromic Substring
- leetcode Longest Palindromic Substring
- 使用canvas 将img 的url 转换为base64格式
- 【ListView】三行搞定你的Adapter,和几十行的getview Say goodBye
- Xcode插件管理工具Alcatraz
- 第四周项目二数据结构之自建算法库——单链表
- php连接mongoDB的几个问题
- leetcode Longest Palindromic Substring
- ewebeditor上传文件大小及在线编辑器jsp版使用心得
- C++设计模式——抽象工厂模式
- iOS---XCode7 + IOS9 问题及解决方案
- Lowest Common Ancestor of a Binary Search Tree -- leetcode
- Codeforces Beta Round #3-C. Tic-tac-toe
- 黑马程序员——IOS学习笔记(Foundation框架(二))
- 用exp无法导出空表解决方法/用exp导出数据时表丢失原因
- plupload 使用案例 及 中文文档