最长回文子串
admin
2024-03-04 04:08:05
0

使用中心扩散的方法 : 从中间开始,向两边同时遍历,当左右元素一样的时候,代表满足回文条件。 一直循环这个过程去判断,直到左右不相等,截取这一段就好了。

注意: 要同时考虑字符串为奇数,和字符串为偶数的情况,但不论是奇数还是偶数,都进行revert(i,i)和revert(i,i+1),因为我们需要只是最大回文子串

var longestPalindrome = function(s) {let max = ''let left = nulllet right = null//遍历整个字符串,当字符串长度为奇数的时候,left = right = i//当字符串长度为偶数的时候, left = i , right = i+1for(let i=0;i//偶数奇数情况都处理,反正只需要最大回文子串revert(i,i)revert(i,i+1)}function revert(left,right){while(left>=0&&right<=s.length-1&&s.charAt(left)===s.charAt(right)){center = s.substring(left,right+1)left--right++}max = center.length>max.length?center : max}return max
};

下面我们再来回顾一下字符串的方法:

获取目标索引的字符

var str = "abcde";
console.log(str.charAt(0));//a

截取字符串

  1. slice( left , right ) : left开始截取的位置,right完成截取的位置,顾头不顾尾
  2. substring ( left , right ) : left开始截取的位置,right完成截取的位置,顾头不顾尾
  3. substr(left , len):left开始截取的位置,len要截取长度,顾头不顾尾

遍历字符串

for(var i=0;i< a.length;i++){console.log(i);//0 1 2 3 4 5 6
}for(var key in a){console.log(key);//0 1 2 3 4 5 6
}for(var i=0;i< a.length;i++){console.log(a[i]);//a b c d e f g
}for(var i=0;i< a.length;i++){console.log(a.charAt(i));//a b c d e f g
}

查找字符:

indexOf: 从头开始查找,找到返回索引,找不到返回-1
lastIndexOf:从尾开始查找,找到返回索引,找不到返回-1

替换字符:replace()对原字符串没有影响

var str = "abcdefa";
console.log(str.replace("a", "嘻嘻"))
//嘻嘻bcdefa,默认只处理找到的第一个字符

首尾去空:trim()

var str = "  abcde fg h ";
console.log(str.length);//13
console.log(str.trim().length);//10

大小写转换:

  1. toLowerCase()转成小写
  2. toUpperCase() 转成大写

相关内容

热门资讯

国家发改委召开“六张网”重大项... 8月19日,国家发展改革委党组成员、副主任岳修虎今日主持召开“六张网”重大项目协调调度机制会,研究建...
三夫户外:子公司取得ODLO品... 8月19日,三夫户外公告,公司全资子公司上海飞蛙商贸有限公司近期与Odlo Internationa...
云南瑞丽:严禁将槟榔制品归入食... 8月19日,瑞丽市市场监督管理局发布《关于倡导市民减少食用槟榔、抵制违规槟榔制品的倡议书》。其中指出...
逾300家沪市公司发布半年报,... 截至8月19日17时,沪市已有超过300家公司(317家)发布2026年半年报,合计实现营业收入超过...
宁波银行上半年净利165.62... 宁波银行 视觉中国 资料图8月19日,宁波银行(002142.SZ)发布2026年半年报显示,20...
华润啤酒上半年营收242.4亿... 新京报讯(记者王子扬)8月19日,啤酒企业华润啤酒发布半年报显示,其2026年上半年的未经审计之综合...
光大证券:上半年净利润22.2... 8月19日,光大证券发布2026年半年度报告,实现营业收入60.56亿元,同比增长18.17%;归属...
元力股份:超级电容炭等新能源碳... 8月19日,元力股份在互动平台表示,公司超级电容炭、硬碳、多孔碳等新能源碳材料已实现批量生产和销售。...
盛合晶微:上半年净利润4.49... 8月19日,盛合晶微发布2026年半年度报告,实现营业收入34.07亿元,同比增长7.2%;归属于上...
现代汽车印度公司将于9月起提价... 8月19日,据报道,现代汽车印度公司表示,今年9月起,旗下所有车型价格将上调至多1%,具体涨幅因车型...