[LeetCode]237. Delete Node in a Linked List
题目描述
思路
安全性考虑,删除临时变量
代码
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode* next;
ListNode(int x): val(x), next(NULL){}
};
class Solution {
public:
void deleteNode(ListNode* node) {
ListNode* next = node->next;
*node = *next;
delete next;
}
void printList(ListNode* node) {
while (node){
cout << node->val << " ";
node = node->next;
}
cout << endl;
}
};
int main() {
ListNode *n1 = new ListNode(1);
ListNode *n2 = new ListNode(2);
ListNode *n3 = new ListNode(3);
ListNode *n4 = new ListNode(4);
n1->next = n2;
n2->next = n3;
n3->next = n4;
Solution s;
s.printList(n1);
s.deleteNode(n3);
s.printList(n1);
system("pause");
}
本文介绍了解决LeetCode上第237题“删除链表中的节点”的方法。通过覆盖待删节点值的方式实现删除操作,并释放被删除节点的内存。文章提供了完整的C++代码实现及运行示例。
1018

被折叠的 条评论
为什么被折叠?



