字符串的最大回文字符串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。

var longestPalindrome = function (s) {
      var i = 0;
      var _obj = {};
      var l = s.length;
      var max = 0;
      var firstIndex = 0;
      var lastIndex = 0;
      // 处理边界
      if (!s) return 0
      if (l === 1 || (l === 2 && s[0] === s[1])) return s;
      if (l === 2 && s[0] !== s[1]) return s[0]
      // 获取回文
      for (i = 0; i < l; i++) {
        var j = i;
        while (j >= 0) {
          if (s[j] === s[i] && (i - j < 2 || _obj[(j + 1) + ',' + (i - 1)])) {
            _obj[j + "," + i] = true;
            if (i - j + 1 > max) {
              max = i - j + 1;
              firstIndex = j;
              lastIndex = i + 1;
            }
          }
          j--
        }
      }
      return s.substring(firstIndex, lastIndex);
    };
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容