[HackerRank] JAVA - Insert Linked List in Head

OOSEDUS·2025년 3월 11일
0

해커랭크

목록 보기
6/13
post-thumbnail

문제

Given a pointer to the head of a linked list, insert a new node before the head. The next value in the new node should point to head and the data value should be replaced with a given value. Return a reference to the new head of the list. The head pointer given may be null meaning that the initial list is empty.

Function Description

Complete the function insertNodeAtHead with the following parameter(s):

  • SinglyLinkedListNode llist: a reference to the head of a list
  • data : the value to insert in the field of the new node

Input Format
The first line contains an integer n, the number of elements to be inserted at the head of the list.
The next n lines contain an integer each, the elements to be inserted, one per function call.

Constraints


Sample Input

STDIN   Function
-----   --------
5       n = 5
383     data items to insert 383 ... 321
484
392
975
321

Sample Output

321
975
392
484
383

Explanation
Intially the list in NULL. After inserting 383, the list is 383 -> NULL.
After inserting 484, the list is 484 -> 383 -> NULL.
After inserting 392, the list is 392 -> 484 -> 383 -> NULL.
After inserting 975, the list is 975 -> 392 -> 484 -> 383 -> NULL.
After inserting 321, the list is 321 -> 975 -> 392 -> 484 -> 383 -> NULL.


첫번째 시도 : Success

    static SinglyLinkedListNode insertNodeAtHead(SinglyLinkedListNode beforeHeadNode, int data) {
        SinglyLinkedListNode newNode = new SinglyLinkedListNode(data);
        newNode.next = beforeHeadNode;
        return newNode;
    }

알아야하는 개념

  1. head에 삽입할 때에는 새로운 노드를 만들고, 이전 노드를 next로 만들기!
profile
성장 가능성 만땅 개발블로그

0개의 댓글