function getsymStr(str) {
if(str.length === 1) {
return str;
}
var result = [];
var l = str.length;
var defaultMostStr = '暂无对称子串';
var isSym = function (str) {
return str === str.split('').reverse().join('');
}
for (var i = 0; i < l; i++) {
var firstMatch = str.slice(i);
var firstMathLength = firstMatch.length;
if (isSym(firstMatch) && firstMatch.length > 1) {
result.push(firstMatch);
} else {
for (var j = 0; j < firstMathLength; j++) {
var secondMathch = firstMatch.slice(0, firstMathLength - j);
if (isSym(secondMathch) && secondMathch.length > 1) {
result.push(secondMathch);
}
}
}
}
var maxLength = 0;
result.forEach(function (item) {
var currentLength = item.length;
if (currentLength > maxLength) {
defaultMostStr = item;
maxLength = currentLength;
}
})
return defaultMostStr
}
在牛客网碰到一个小算法题目,整了一晚上。。