1. 题目
2. 解答
- 因为给定的只有一个待删除的结点指针,我们并不知道其前面结点,所以需要将待删除结点后面的结点值复制到前面结点去,然后指向其后的第二个结点即可。
/**
* 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;
}
};
获取更多精彩,请关注「seniusen」!