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

yessir님의 프로필 이미지
yessir

작성한 질문수

코딩테스트 [ ALL IN ONE ]

연결리스트 (Linked List) - 1

self.head를 변경하면 안되는 이유

작성

·

345

2

안녕하세요🙂

self.head를 직접 사용하지 않고 current라는 새로운 변수를 만들어 포인터를 이동시키는 이유에 대한 질문입니다.

self.head는 LinkedList라는 인터페이스안의 다른 함수에서도 재사용해야 하므로 직접적으로 변경하면 안되기 때문에 그런건가요.

직관적으로 생각하면 LinkedList에 접근하기 위한 고정된 값으로 이해는 됩니다!!

답변 1

1

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

안녕하세요 yessir님.

맞습니다. self.head는 이후에도 linked list에 접근할 수 있게 도와주는 포인터로 활용되어야 하기 때문에 단순 검색을위해 다른 node를 지칭하게 코드를 작성하면 안됩니다.

self.head와 self.tail은 말 그대로, linkedlist의 head와 tail을 가리키는 것을 보장해야 다른 메서드에서도 안심하고 사용할 수 있습니다.

 

그래서 시시각각 다른 node를 가리켜야 하는 상황에서는 current node를 따로 선언해서 사용하는 것입니다.

또 궁금한점이 있으시면 언제든 편하게 질문해주세요 :)

yessir님의 프로필 이미지
yessir

작성한 질문수

질문하기