매일공부기록 20210224

이동욱·2021년 2월 24일
0

매일공부

목록 보기
7/7

알고리즘 공부를 다시 시작했다. 코테 준비도 할겸!

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        prev, node = None, head
        while node:
            prev, prev.next, node = node, prev, node.next

        return prev


class Solution2:
    def reverseList(self, head: ListNode) -> ListNode:
        prev, node = None, head
        while node:
            next, node.next = node.next, prev
            prev, node = node, next

        return prev

Linked List 를 뒤집어주는 코드이다.

Python 의 다중 할당 기능을 이용했는데 뭔가 C++ 만 하다가 이런 걸 보니 신기하기도 하면서 헷갈리기도 한다.

1 -> 2 -> 3 과 같이 그림을 그리면서 이해하면 금방 이해 가능!

링크드 리스트 문제를 풀 때는 항상 그림을 그려서 직관적으로 이해하면서 문제를 풀면 큰 도움이 된다.

profile
무엇을 해야 재밌을까!

0개의 댓글