인프런 커뮤니티 질문&답변

Ambition님의 프로필 이미지
Ambition

작성한 질문수

코딩테스트 [ ALL IN ONE ]

연결리스트 (Linked List) - 1

링크드리스트의 while cur.next: 부분이 제가 이해한 것이 맞는지 질문드립니다.

해결된 질문

작성

·

353

1

else:
            cur = self.head # cur 포인터는 head가 가리키는 곳을 가리킴(현재는 1의 값을 가진 노드를 가리킴)
            while cur.next: # cur.next값은 곧 head가 가리키는 new_node의 next값인 Node이므로 False라서 while문 탈출
                cur = cur.next
            cur.next = new_node # None값을 가지는 노드를 새로 들어온 노드와 연결 

링크드 리스트부터 갑자기 이중 포인터가 사용되서 이해하기가 어려웠는데요, 결국에는 cur가 가리키는 값이 head이고, head가 가리키는 것이 new_node인데, 현재 new_node의 next값은 None이므로, 이것을 새로 추가된 노드를 가리키게 하기 위해 cur.next = new_node로 작성한 것인가요?

답변 1

0

개발남노씨님의 프로필 이미지
개발남노씨
지식공유자

안녕하세요 ambition님

 

링크드리스트의 맨 뒤에 새로운 노드를 연결하는 코드입니다!

그렇기 대문에 맨 끝 노드로 cur_node를 옮기고 (while문을 통해)

맨 끝 노드로 갔으면 거기서 cur_node.next 로 new_node를 연결해주는 코드입니다!

혹시 더 궁금하신점 있으면 질문주세요 ~

Ambition님의 프로필 이미지
Ambition

작성한 질문수

질문하기