最长回文子串 Medium
算法
2020年4月20日星期一 23:16
难度
中等
# 题目
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
# 示例 1
输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。
# 示例 2
输入: "cbbd"
输出: "bb"
# 解答
以下解答为个人原创答案,非最优解。保证运行通过。
/**
* @param {string} s
* @return {string}
*/
var longestPalindrome = function(s) {
const size = s.length;
if (size <= 1) return s;
const arrs = s.split('');
let result = '';
for(let i = 0; i < size; i ++) {
const temp = [];
for(let j = i; j < size; j ++) {
temp.push(arrs[j]);
if (isPalindrome(temp)) {
if (temp.length > result.length) {
result = temp.join('');
}
}
}
}
return result;
};
function isPalindrome(str) {
var len = str.length
var middle = parseInt(len/2)
for(var i = 0;i<middle;i++){
if(str[i]!=str[len-i-1]){
return false
}
}
return true
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
链接:https://leetcode-cn.com/problems/longest-palindromic-substring
← 整数反转 无重复字符的最长子串 →