本文主要是介绍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) {*node = *node->next;}
};
这篇关于Delete Node in a Linked List问题及解法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!