234.palindrome-linked-list.go 413 B

1234567891011121314151617181920
  1. /**
  2. * Definition for singly-linked list.
  3. * type ListNode struct {
  4. * Val int
  5. * Next *ListNode
  6. * }
  7. */
  8. func isPalindrome(head *ListNode) bool {
  9. l1, l2 := make([]int, 0), make([]int, 0)
  10. n := 0
  11. for curr := head; curr != nil; curr, n = curr.Next, n+1 {
  12. l1, l2 = append(l1, curr.Val), append(l2, curr.Val)
  13. }
  14. for i := 0; i < n/2; i++ {
  15. if l1[i] != l2[n-1-i] {
  16. return false
  17. }
  18. }
  19. return true
  20. }