How can I reverse a linked list keeping orginal same.?
class Solution(object):
def isPalindrome(self, head):
"""
:type head: ListNode
:rtype: bool
"""
p = head
q = self.reverse_list(head)
while p and q:
if p.val != q.val:
return False
else:
p = p.next
q= q.next
return True
def reverse_list(self, head):
curr = head
prev = None
while curr is not None:
tmp = curr.next
curr.next = prev
prev = curr
curr = tmp
return prev