Longest Palindromic Substring leetcode
来源:互联网 发布:新网互联域名转移 编辑:程序博客网 时间:2024/06/03 17:21
题目
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”
思路
题目就就做最长的回文子串,题目没有说清楚的是当一个串的最长回文子串长度为1时,输出串的第一个字符。
代码思路解析: 用start,end来标记每一次循环时一个子串的起始和终止索引,令i= start, j = end,然后逐个字符比较,符合回文条件的子串用一个字符串str保存起来并记录最长的回文串,注意当记录的最长子串大于end-start+1时,直接退出当前一层的循环(不加这个限制,程序会超时)
题目边界条件注意 : 串s长度 < 2时 直接return s;
代码
string find(string s){ if(s.size() < 2) return s; //串长度小于2,return s; int i,j,len,start,end; int maxLen = 1; len = s.size(); string str = s.substr(0,1); //若该串的最长回文串长度为1,返回第一个字符 for(start = 0; start < len - 1; start++){ //记录子串的开始位置 for(end = len-1; end > start ; end--){ //记录子串的结束位置 if(end-start+1 <= maxLen) break; //当找到的子串maxLen >= 子串的长度时,直接break; i = start; j = end; while(s[i] == s[j] && i < j){ i++; j--; } if(i >= j && maxLen < end - start + 1){ //当找到更长的子串时 maxLen = end - start + 1; //记录最长子串的长度 str = s.substr(start,end-start+1); //记录该回文子串 } } } return str;}
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
- 爬虫-漫画喵的100行逆袭
- mysql的安装
- 猫哥带你去战斗—Java Web开发—Servlet篇[5]—犀利的内置对象
- Android网络请求之OKHttp简单讲解
- 构建堆的时间复杂度
- Longest Palindromic Substring leetcode
- java入门
- JavaWeb学习(三)
- 猫哥带你去战斗—Java Web开发—Servlet篇[6]—漂亮的终结篇
- 对比Struts和SpringMVC
- JavaSE_37th_List接口和Collections类
- hdu5532
- Base64之java自定义实现
- POJ1157_LITTLE SHOP OF FLOWERS_动态规划