本文主要是介绍LeetCode *** 237. Delete Node in a Linked List,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.
Supposed the linked list is 1 -> 2 -> 3 -> 4
and you are given the third node with value 3
, the linked list should become 1 -> 2 -> 4
after calling your function.
分析:
要求删掉一个链表里的点,只给出该点,那么可以将该点下一个节点的值赋给该点,然后删掉下一个点即可。
代码:
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:void deleteNode(ListNode* node) {if(node==NULL)return;node->val=(node->next)->val;ListNode *tmp=node->next;node->next=tmp->next;delete tmp;}
};
这篇关于LeetCode *** 237. Delete Node in a Linked List的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!