Given the head of a singly linked list, return true if it is a palindromeor false otherwise.
как бы задача изи(сравниваем начальный список и перевернутый)
но здесь есть классы и кое-что мне не понятно
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def isPalindrome(self, head: Optional[ListNode]) -> bool:
res = []
while (head):
res.append(head.val)
head = head.next
if res==res[::-1]:
return True
False
решение немного подсмотрел, чтобы понять логику, а далее решил сам и не понял вот эти строчки
res.append(head.val)
head = head.next
я думаю, что мы добавляем текущее число
head.val, а далее двигаемся вперед
head.next,
но зачем добавлять, почему нельзя стразу двигаться вперед?