palindrome linked list
Anonymous User
190

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
Comments (1)