Skip to content

回文链表

LeetCode-234

js
// 回文:左右对称
var isPalindrome = function(head) {
  let temp = []
  // 先将val添加到数组中
  while(head) {
    temp.push(head.val)
    head = head.next
  }

  let len = temp.length // 数组长度
  // 双指针,从头和尾部分别向中间走;i < j判断是如果奇数个节点,中间一个不做回文判断
  for(let i = 0, j = len - 1; i < j; i++,j--) {
    if(temp[i] !== temp[j]) return false // 左右不对称 返回false
  }
  return true // 对称则 true
}