Reverse Linked List

김_리트리버·2021년 3월 30일
0

[알고리즘]

목록 보기
36/47
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next

# 원본 1->2->3->None

# 역순 None

# 원본 2->3->None

# 역순 1->None

# 원본 3->None

# 역순 2->1->None

# 원본 None

# 역순 3->2->1->None

# 연결리스트의 갯수만큼 반복문 시행

# 어차피 마지막은 None 이여야 하니 None 으로 초기화 시켜놓은 다음

# 원본의 복사본에 맨 앞 노드 다음 노드를 기존 rev 로 대체한 다음

# rev 를 넣은 복사본을 rev 에 다시 넣음

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:

        rev = None

        while head:

            temp = head
            head = head.next
            temp.next = rev
            rev = temp

        return rev
profile
web-developer

0개의 댓글