LeetCode-5_Longest Palindrome Substring
2017-10-17 11:20
302 查看
/* * main.cpp * * Created on: 2017年10月16日 * Author: zhy * * 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. * Example: * Input: "cbbd" * Output: "bb" */ #include <iostream> #include <hash_map> using namespace std; using namespace __gnu_cxx; class Solution { public: static const string longestPalindrome(const string& s) { //Brute Force暴力穷举法 std::size_t length = s.size(); int longestPalindromeLength = 0; string ret(""); for(int i = 0;i < length;++i){ for(int j = i+1;j <= length;++j){ //下面使用迭代器来构造string,由于这种构造方法中的迭代器区间是左闭右开的,因此for()条件带上等号 string tmpStr(s.begin()+i,s.begin()+j); if(true == Solution::isPalindrome(tmpStr)){ if(tmpStr.size() > longestPalindromeLength){ ret = tmpStr; longestPalindromeLength = tmpStr.size(); } } } } return ret; } /*判断参数string是否为回文 可以用于得到一个string内的substring组成的所有回文*/ static bool isPalindrome(const string& s) { std::size_t length = s.size(); if(length == 0) return false; int left = 0; int right = length-1; for(;left <= right;left++,right--){ if(s[left] != s[right]){ return false; } } return true; } }; int main(int argc,char *argv[]) { string s("babad"); auto ret = Solution::longestPalindrome(s); cout << "The longest: " << ret << "\nLength: " << ret.size() << endl; return 0; }
相关文章推荐
- LeetCode the longest palindrome substring
- [LeetCode] Longest Palindrome Substring 详细分析
- 【LeetCode】 Longest Palindrome Substring
- 【Leetcode】Longest palindrome substring
- 【Leetcode】Longest Palindrome Substring
- [LeetCode] Longest Palindrome Substring 具体分析
- leetcode 第三题 Longest Substring Without Repeating Characters
- [LeetCode] Longest substring without repeating characters 最长无重复子串
- LeetCode 5 Longest Palindromic Substring(Manacher算法)
- leetcode:Longest Palindromic Substring
- LeetCode:Longest Palindromic Substring
- LeetCode-5.Longest Palindromic Substring
- LeetCode_Longest Palindromic Substring
- LeetCode Longest Substring Without Repeating Characters
- Leetcode:Longest Palindromic Substring
- leetcode 3 Longest Substring Without Repeating Characters最长无重复子串
- [Leetcode] Longest Substring Without Repeating Characters (Java)
- LeetCode 之 Longest Substring Without Repeating Characters
- [LeetCode] 5. Longest Palindromic Substring
- LeetCode 5. Longest Palindromic Substring(最长回文子串)