728x90
연결 리스트의 가장 마지막 노드를 0번 인덱스로 생각했을 때 끝 노드로부터의 인덱스가 주어지면 해당 노드의 데이터를 출력하는 프로그램이다.
www.hackerrank.com/challenges/get-the-value-of-the-node-at-a-specific-position-from-the-tail/problem
int getNode(SinglyLinkedListNode* head, int positionFromTail) {
int size = 0;
SinglyLinkedListNode* tmp = head;
while(tmp->next != NULL){
size +=1;
tmp = tmp->next;
}
tmp = head;
for(int i=0;i<(size - positionFromTail);i++){
tmp = tmp->next;
}
return (tmp->data);
}
△ 작성한 부분
while문에서 size를 구할때 가장 끝노드의 바로 앞 노드까지 계산해서 실제 연결리스트의 길이 -1 만큼을 구했다. 따라서 for문의 조건을 제시할 때 size -1 이 아닌 size로 사용했다.
SMALL
'Programming > C C++' 카테고리의 다른 글
Angry Professor (2) | 2020.11.08 |
---|---|
Eletronics Shop (0) | 2020.11.08 |
Counting Valleys (0) | 2020.10.04 |
Drawing Book (0) | 2020.09.27 |
[DS] Reverse a doubly-linked list (0) | 2020.09.27 |