반응형
문제
Write a function to delete a node in a singly-linked list. You will not be given access to the head of the list, instead you will be given access to the node to be deleted directly.
It is guaranteed that the node to be deleted is not a tail node in the list.
linked list(선형리스트)에서 하나의 node를 지우는 함수를 만들어야합니다.
linked list는 아래와 같습니다.
이 문제에선 linkedlist에서 가장 앞에있는 node를 접근할수없게됩니다.
그리고 마지막자리 node는 지워질수있는 node에서 제외됩니다.
예시
Input: head = [4,5,1,9], node = 5 지워질 node는 5이기 때문에
Output: [4,1,9] 4 1 9 가됩니다.
풀이
/**
* Example:
* var li = ListNode(5)
* var v = li.`val`
* Definition for singly-linked list.
* class ListNode(var `val`: Int) {
* var next: ListNode? = null
* }
*/
class Solution {
fun deleteNode(node: ListNode?) {
node ?: return
node!!.`val` = node!!.next.`val`
node!!.next = node!!.next.next
}
}
반응형