首页 > 试题广场 >

最长对称子字符串

[编程题]最长对称子字符串
  • 热度指数:5342 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定一个字符串(数字或大小写字母), 找出最长的对称的子串(如有多个,输出任意一个)。
例如:
输入:“abbaad”
输出:“abba”

输入描述:
字符串


输出描述:
字符串
示例1

输入

a1223a

输出

22
var line=readline();                        //读取输入字符串
var len=line.length;
function reverseStr(str){                   //反转字符串
    return str.split("").reverse().join("");
}
function getSymmetry(str){                  
    var maxSubString="";
    for(var i=0;i<len;i++){                  //两for循环获得子字符串
        for(var j=len;j>i;j--){              //并判断获取的子字符串是否是对称字符串
            var temp=str.substring(i,j);
            if(temp===reverseStr(temp) && maxSubString.length<temp.length){
                maxSubString=temp;
            }
        }
    }
    return maxSubString;
}
if(len==1){
    console.log(line)
}else{
    console.log(getSymmetry(line));
}

发表于 2019-02-25 19:37:08 回复(0)