题解 | #回文字符串#

回文字符串

http://www.nowcoder.com/practice/84424799af474ba093b06c29a1f12dfb

回文字符串:正读和反读都一样的字符串

第一种方法

  • 建立一个正序列表
  • 建立一个逆序列表(将数组进行反转)
  • 将两者数组都进行join转化为字符串
  • 判断两个字符串是否相等
    const _isPalindrome = string => {
            let oldArr = string.split('').join()
            let newArr = string.split('').reverse().join()
            if (oldArr == newArr) {
                return true
            }
            return false
        }
        _isPalindrome('level')

第二种方法

  • 取索引0为左指针
  • 取索引长度减1为右指针
  • 当左指针小于右指针时,进入循环
  • 当进入循环时,如果左指针等于右指针,则左指针索引加1,右指针索引减1,否则返回false
  • 左指针和右指针相等时,跳出循环
  • 当循环结束时返回true
const _isPalindrome = string => {
		let left=0
		let right=string.length-1
		while(left<right){
          if(string[left]===string[right]){
            left++ 
            right-- 
          }else{
          return false 
         }
        } 
  		return true }
全部评论

相关推荐

11 收藏 评论
分享
牛客网
牛客企业服务