LeetCode 83 Remove Duplicates from Sorted List
概述
https://leetcode.com/problems/remove-duplicates-from-sorted-list
直接法
尴尬,WA 和 RE 了三次:
- RE:没有检查 c 是否为 null;
- WA:当 c 换了 next 时,此次循环不能更新 c,因为我们必须检查新的 next;
- RE:没有检查 c 是否为 null,因为我看了下循环体,发现循环体内 c 必然不为 nullptr,但是忽视了 head 可能为 nullptr;
这是一道简单题啊喂,警以为戒。
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
auto c = head;
while (c && c->next) {
if (c->val == c->next->val) {
c->next = c->next->next;
} else {
c = c->next;
}
}
return head;
}
};