LeetCode OJ : 5 Longest Palindromic Substring
来源:互联网 发布:西安明朝万达 JAVA 编辑:程序博客网 时间:2024/06/06 13:04
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.
求字符串中的最长回文字符串;
我的思路比较简单,但是实现起来代码看着好乱。。。从第一个字符开始遍历,直到最后一个字符,对每一个在index位置的字符进行判断;
如果最长回文字符串是奇数,则判断--index和++index是否相等;
如果最长回文字符串是偶数,则判断index和++index是否相等;
class Solution {public: string longestPalindrome(string s) { int maxlen = 0, index = 0, length; if (s.size() < 3){ return s; } for (int i = 0; i < s.size()-1; ++i){ length = findPalindrome(s, i); if (maxlen < length){ maxlen = length; index = i; } } if (maxlen % 2 == 0) index = index - maxlen/2 + 1; else index = index - maxlen/2; string longestSubString(s, index, maxlen); return longestSubString; } int findPalindrome(string &s, int index){ int l_index = index-1, r_index = index+1; int length1 = 1, length2 = 0; /*针对abvba这种奇数的情况*/ while((s[l_index--] == s[r_index++]) && (r_index <= s.size())){ length1 += 2; } /*针对abba这种偶数的情况*/ l_index = index; r_index = index+1; while((s[l_index--] == s[r_index++]) && (r_index <= s.size())){ length2 += 2; } return (length1 > length2) ? length1 : length2; }};
虽然代码看着恶习,但是运行效率还阔以,Runtime: 72 ms;我再找找其它的方法;
0 0
- LeetCode OJ 5 Longest Palindromic Substring
- LeetCode OJ : 5 Longest Palindromic Substring
- LeetCode OJ:Longest Palindromic Substring
- LeetCode OJ - Longest Palindromic Substring
- LeetCode OJ Longest Palindromic Substring
- LeetCode OJ ---- Longest Palindromic Substring
- [LeetCode OJ]Longest Palindromic Substring
- [LeetCode OJ][005]Longest Palindromic Substring
- LeetCode OJ 05 Longest Palindromic Substring
- 【LeetCode OJ 005】Longest Palindromic Substring
- <LeetCode OJ> 5. Longest Palindromic Substring
- LeetCode OJ 5.Longest Palindromic Substring
- LeetCode OJ 5. Longest Palindromic Substring
- LeetCode OJ(5.Longest Palindromic Substring)
- LeetCode 5 - Longest Palindromic Substring
- LeetCode(5) Longest Palindromic Substring
- Leetcode【5】:Longest Palindromic Substring
- [leetcode 5] Longest Palindromic Substring
- 关系型数据库和非关系型数据库
- leetcode -- Set Matrix Zeroes -- 很有意思的题目,多看
- 20151215 OCP 047 80-110
- leetcode刷题日记——Add Digits
- android原生代码中的情景模式及提示音和通知
- LeetCode OJ : 5 Longest Palindromic Substring
- 从Java中堆内存和栈内存分配中详谈String使用equals和==比较的区别
- Scala List基本操作
- 将各种格式的图像转换为灰度图像
- leetcode:225 Implement Stack using Queues-每日编程第二十六题
- linux中报错:undefined reference to
- Mapreduce工作流程
- Spring scope属性详解
- apscheduler提示maximum错误