删除排序链表中的重复元素
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次
public: ListNode* deleteDuplicates(ListNode* head) { struct ListNode* p=head; while(p!=NULL&&p->next!=NULL) { if(p->val==p->next->val) p->next=p->next->next; else p=p->next; } return head; } };
因为while循环里有
p->next->val
所以while条件中必须有p->next!=NULL这句 因为如果
p->next==NULL 那么
p->next->val是没有意义的
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步