#372 Delete Node in the Middle of Singly Linked List

来源:互联网 发布:java项目实战视频 编辑:程序博客网 时间:2024/05/16 10:22

题目描述:

Implement an algorithm to delete a node in the middle of a singly linked list, given only access to that node.

Example

Given 1->2->3->4, and node 3. return 1->2->4

题目思路:

这题有点偷换概念:明明是要delete当前node,但是在啥都不知道的情况下,我们只能copy来下一个node,然后让下一个node当删除的替罪羊了。

Mycode(AC = 39ms):

/** * Definition of ListNode * class ListNode { * public: *     int val; *     ListNode *next; *     ListNode(int val) { *         this->val = val; *         this->next = NULL; *     } * } */class Solution {public:    /**     * @param node: a node in the list should be deleted     * @return: nothing     */    void deleteNode(ListNode *node) {        // write your code here        // copy next node's value, and         // delete next node        node->val = node->next->val;        node->next = node->next->next;    }};


0 0