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

  • 相关阅读:
    前端开发—HTML
    初识 Django
    前端开发—BOM对象DOM文档对象操作
    前端开发—jQuery
    前端开发—Javascript
    前端开发—CSS 盒子、浮动、定位
    前端开发—CSS
    html模拟手机页面
    人类简史读书笔记
    正则表达式
  • 原文地址:https://www.cnblogs.com/Decmber/p/4743769.html
Copyright © 2011-2022 走看看