zoukankan      html  css  js  c++  java
  • JavaScript算法----给定一个长度为N的串,求最长回文子串。

    /*
    *给定一个长度为N的串,求最长回文子串。
    */
     
    function returnStr(str){
        console.log(str);
        var arr = [],s = "";
        for(var i=0;i<str.length;i++){
            s = "";
            if(str.charAt(i)==str.charAt(i+1)){
                var j=0;
                while(str.charAt(i+j+1)==str.charAt(i-j)){
                    s = str.charAt(i-j) + s + str.charAt(i+j+1);
                    j++;
                }
                arr.push(s);
                 
            }else if(str.charAt(i-1)==str.charAt(i+1)){
                var m=1;
                s = str.charAt(i);
                while(str.charAt(i+m)==str.charAt(i-m)){
                    s = str.charAt(i-m) + s + str.charAt(i+m);
                    m++;
                }
                arr.push(s);
            }
             
        }
        //等到所有回文字符串的数组;然后取值的最长
        var l =0 ;k = "";
        arr.forEach(function(val,key){
            if(val.length>l){
                l = val.length;
                k = val;
            }
        });
         
        return "所有回文字符串的集合是:"+arr+",最长的回文字符串的长度是:"+l+",内容是:"+k;
         
    }
    console.log(returnStr("adbdabccbalkj123321jkasdfaswtweypoiuiopsdf"));

    引自http://www.nowcoder.com/questionTerminal/d91641c6489a4aeab390e729c3c883d0

  • 相关阅读:
    mysql显示乱码
    aws常用命令
    Hive分析窗口函数(一) SUM,AVG,MIN,MAX
    Hive函数介绍
    Apache Drill 调研学习
    公有云与私有云对比分析报告
    python3 使用libvirt 相关安装
    libvirt虚拟库
    Reveal CocoaPods的使用
    AFNetworking 2.0 使用
  • 原文地址:https://www.cnblogs.com/Decmber/p/4743769.html
Copyright © 2011-2022 走看看