> For the complete documentation index, see [llms.txt](https://soumyajit4419.gitbook.io/ds-algo/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://soumyajit4419.gitbook.io/ds-algo/linked-list/delete-node-in-a-linked-list.md).

# 7.Delete Node in a Linked List

Only node is given

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.

**Example 1:**

![](https://assets.leetcode.com/uploads/2020/09/01/node1.jpg)

```
Input: head = [4,5,1,9], node = 5
Output: [4,1,9]
Explanation: You are given the second node with value 5, the linked list should become 4 -> 1 -> 9 after calling your function.
```

**Example 2:**

![](https://assets.leetcode.com/uploads/2020/09/01/node2.jpg)

```
Input: head = [4,5,1,9], node = 1
Output: [4,5,9]
Explanation: You are given the third node with value 1, the linked list should become 4 -> 5 -> 9 after calling your function.
```

```
Example 3:
Input: head = [1,2,3,4], node = 3
Output: [1,2,4]

Example 4:
Input: head = [0,1], node = 0
Output: [1]


Example 5:
Input: head = [-3,5,-99], node = -3
Output: [5,-99]
```

## Solution: (Copying values)

```cpp
class Solution
{
public:
    void deleteNode(ListNode *node)
    {

        ListNode *p = node;
        while (p->next != NULL)
        {
            p->val = p->next->val;
            if (p->next->next == NULL)
            {
                p->next = NULL;
                break;
            }
            else
            {
                p = p->next;
            }
        }
    }
};
```

**Time Complexity: O(N)**

## Solution: (Changing Pointers)

```cpp
class Solution
{
public:
    void deleteNode(ListNode *node)
    {

        ListNode *p = node;
        p->val = p->next->val;
        p->next = p->next->next;
    }
};
```

**Time Complexity: O(1)**
