
//注意每次取值或取next,都需要检查当前节点是否为空
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
ListNode* curNode = head;
while (curNode != NULL) {
if (curNode->next != NULL && curNode->val == curNode->next->val) {
ListNode* delNode = curNode->next;
curNode->next = delNode->next;
delete delNode;
}
else {
curNode = curNode->next;
}
}
return head;
}
};

本文介绍了一种在链表中删除所有重复元素的算法。通过遍历链表,比较当前节点与下一个节点的值,如果相等则删除下一个节点,直到链表中不再存在重复元素。此方法有效地维护了链表的顺序和数据唯一性。
1213

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



