python_leetcode206. 체인 테이블 반전

945 단어 leetcode-초급
단일 체인 테이블을 반전합니다.
예:
 : 1->2->3->4->5->NULL
 : 5->4->3->2->1->NULL

진급: 체인 시계를 교체하거나 귀속적으로 반전할 수 있습니다.너는 두 가지 방법으로 이 문제를 해결할 수 있니?
 
(1) 교체
# Definition for singly-linked list. # class ListNode(object): #     def __init__(self, x): #         self.val = x #         self.next = None
class Solution(object):     def reverseList(self, head):         """        :type head: ListNode         :rtype: ListNode         """        if not head:             return None         p = head         q = head.next         p.next = None         while q:             r = q.next             q.next = p             p = q             q = r         return p
(2) 귀속
    if head == None or head.next == None:
        return head
    root = self.reverseList(head.next)
    head.next.next = head
    head.next = None
    return root

좋은 웹페이지 즐겨찾기