LeetCode[237] Delete Node in a Linked List

来源:互联网 发布:电子数据取证产品 编辑:程序博客网 时间:2024/05/14 08:39

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 -> 4after calling your function.

把要删节点的下一个节点的 val 值赋给 node,然后删去下一节点即可

/** * 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) {ListNode* beDeleted = node->next;node->val = beDeleted->val;node->next = beDeleted->next;delete beDeleted;beDeleted = NULL;}};

0 0