首页 > 试题广场 >

判断一个链表是否为回文结构(进阶)

[编程题]判断一个链表是否为回文结构(进阶)
  • 热度指数:1276 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个链表,请判断该链表是否为回文结构。

输入描述:
n 表示链表的长度。
ai 表示链表节点的值


输出描述:
如果为回文结构输出 "true" , 否则输出 "false"。
示例1

输入

5
1 2 3 2 1

输出

true

备注:

let readline = require('readline')
let rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
})

let arr = []
rl.on('line', function(data){
  arr.push(data)
  if(arr.length == 2){
    console.log(deal(arr))
    arr.length = 0
  }
})

function deal(data, arr = []){

  let temp = data[1].split(' ').map(Number)
  let temps = temp.slice().reverse()
  
  
  for(let i = 0 ;i<data[0];i++){
    if(temps[i] === temp[i]){
      continue
    }else{
      return false
    }
  }
    return true
}
发表于 2021-07-30 22:20:31 回复(0)