5.Longest Palindromic Substring
来源:互联网 发布:mysql脚本自动生成id 编辑:程序博客网 时间:2024/06/10 19:37
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example:
Input: “babad”
Output: “bab”
Note: “aba” is also a valid answer.
给定一个字符串,找出它的最长回文子串。假设字符串的最长长度为1000.
上代码:
string LongestPalindromicSubstring::longestPalindrome(string s){ // 处理特殊情况 if (s.empty()) return ""; if (s.size() == 1) return s; int start = 0, maxLen = 1; for (int i = 0; i < s.size();) { // 从下标元素i开始向两侧扩张,若满足以下条件,则至此之后的回文长度不会超过现有长度 if (s.size() - i < maxLen / 2) break; int j = i, k = i; // 从非相同元素开始向两侧扩张 while (k < s.size() - 1 && s[k + 1] == s[k]) ++k; i = k + 1; while (j > 0 && k < s.size() - 1 && s[k + 1] == s[j - 1]) { ++k; --j; } int newLen = k - j + 1; if (newLen > maxLen) { start = j; maxLen = newLen; } } return s.substr(start, maxLen);}
测试代码:
LongestPalindromicSubstring longestPalindromicSubstring;string s = "aaabbbaaacdefg";string result = longestPalindromicSubstring.longestPalindrome(s);cout << result << "\n";cout << endl;
阅读全文
0 0
- 5.Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5.Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5.Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5.Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- protobuf
- 北京信息学培训第二天
- WebSphere 管理员界面 修改配置之后,没有反应的原因,需要按下[保存]link
- TCP 滑动窗口协议
- JDK之TimeZone
- 5.Longest Palindromic Substring
- 2---LeetCode【Reverse Integer】|C语言|总结
- TCP报文段首部格式详解
- JavaScript代码规范
- poll机制之内核实现简要分析
- 原码、反码、补码、移码扫盲
- 深入javaScript变量声明
- Linux学习44_linux下rm和rmdir的区别和使用
- 文章标题