---
# System prepended metadata

title: LeetCode 237.Delete Node in a Linked List
tags: [Linked List]

---

###### tags: `Linked List`

# LeetCode 237.Delete Node in a Linked List

There is a singly-linked list ```head``` and we want to delete a node ```node``` in it.

You are given the ```node``` to be deleted node. You will not be given access to the first node of ```head```.

All the values of the linked list are unique, and it is guaranteed that the given node node is not the last ```node``` in the linked list.

Delete the given node. Note that by deleting the node, we do not mean removing it from memory. We mean: 
- The value of the given node should not exist in the linked list.
- The number of nodes in the linked list should decrease by one.
- All the values before ```node``` should be in the same order.
- All the values after ```node``` should be in the same order.

**Custom testing:**
- For the input, you should provide the entire linked list ```head``` and the node to be given ```node```. ```node``` should not be the last node of the list and should be an actual node in the list.
- We will build the linked list and pass the node to your function.
- The output will be the entire list after calling your function.

 

>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.
```
### Constraints:

- The number of the nodes in the given list is in the range [2, 1000].
- $-1000 <= Node.val <= 1000$
- The value of each node in the list is unique.
- The node to be deleted is in the list and is not a tail node.
---
### Idea:
>
### Solution:

Python:
```python=
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
# 
class Solution:
    def deleteNode(self, node):
        node.val=node.next.val
        node.next=node.next.next
```

C++:
```cpp=
```