删除中间节点,这题不用返回任何值,直接删除中间节点就行。很简单,首先我们找到当前结点位置,然后我们把下一个结点的值(node->next->val)赋给当前结点(node->val),然后再让本该指向下一个结点的地址(node->next)指向下下个结点的地址(node->next->next)。这时候我们就成功的删除了当前节点。
代码
/**
* 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->val=node->next->val;//将下一个结点的值赋给当前结点
node->next=node->next->next;//将地址指向下下个结点地址
}
};