leetcode练习:5. Longest Palindromic Substring

这个题是想要找到最长回文字串,我刚开始想的是:

以每一个字符为中心,然后向两边扩展寻找,应该分为奇数和偶数为中心两种情况~

/**
 * @param {string} s
 * @return {string}
 */
var longestPalindrome = function(s) {
    var res="";
    var len=s.length;
    var j,k;
    
    for(var i=0;i<len;i++){
        var cur="";
        j = i-1;
        k = i+1;
        
        cur += s[i];
        while(k <len && j >=0){
            if(s[j] == s[k]) {
                    var temp = s[j];
                    temp += cur;
                    cur = temp + s[j];               
            } else {
                break;
            }
            j--;
            k++;
        }
        if(cur.length >= res.length){
            res = cur;
        }
     }  
    
     for(var i=0;i<len;i++){
        cur="";
        j = i;
        k = i+1;
        while(k <len && j >=0){
            if(s[j] == s[k]) {
                var temp =s[j];
                temp += cur;
                temp += s[j];
            cur = temp;
            } else {
                break;
            }
            j--;
            k++;
        }
       console.log(cur,cur.length);
        if(cur.length >= res.length){
            res = cur;
        }          
     }
    return res;
};

代码应该没问题吧,但是提交上去超时了,因为后来它用的测试数据非常大啊,后来上网看了看别人的,就想着用动态规划试试看。

(然后,待续(笑))

posted @ 2017-10-03 10:51  章鱼小年糕  阅读(107)  评论(0编辑  收藏  举报