LeetCode(3)题解: Longest Palindromic Substring
2024-09-30 08:00:53
https://leetcode.com/problems/longest-palindromic-substring/
题目:
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.
思路:
我的思路是遍历字符串,对每个元素用扩张法,找到以这个位置作为回文序列中心左边第一个点的回文序列,因为牵扯到奇偶性,需要遍历两遍。复杂度是O(n^2),但是一般情况这样剪枝比较快。
AC代码: 60ms C++
class Solution {
public:
string longestPalindrome(string s) {
int loc,j,l=,n=s.size();
if (n==)
return "";
if (n==)
return s;
for (int i=;i<n;i++){
for(j=; i-j>= && i+j+<n;j++){
if(s[i-j]!=s[i+j+])
break;
}
if(*j>l){
l=*j;
loc=i;
}
}
for (int i=;i<n;i++){ for(j=; i-j>= && i+j+<n;j++){
if(s[i-j]!=s[i+j+])
break;
}
if(*j+>l){
l=*j+;
loc=i;
}
}
return s.substr(loc-l/+,l);
}
};
最新文章
- iOS从零开始学习直播之2.采集
- Android 自定义View及其在布局文件中的使用示例
- .NET分布式事务处理
- WinForm richtextbox 关键字变红色
- html转jsp乱码问题
- 如何在github上fork一个项目来贡献代码以及同步原作者的修改
- java double保留小数点的零的问题,java保留小数点问题
- JS 获取各个宽度和高度
- 单个ViewController支持横屏,其他全竖屏方法-b
- JavaScript中的坑--全局变量惹得祸
- hdu 1010 回溯加奇偶性剪枝
- ab命令
- 【转载】PyTorch系列 (二):pytorch数据读取
- Linux压缩打包tar命令总结
- Suffix
- linux nodejs
- 程序员Web面试之前端框架等知识
- C#窗体向另一个窗体实时传值及传值问题
- 邮件过滤-LSTM-Spam Filtering
- setUserVisibleHint-- fragment真正的onResume和onPause方法