酒店网站建设报价单,ps做网站首页步骤,代码网站怎么做的,wordpress和帝国cms百度收录牛客题霸 [删除有序链表中重复的元素] C题解/答案 题目描述 删除给出链表中的重复元素#xff08;链表中元素从小到大有序#xff09;#xff0c;使链表中的所有元素都只出现一次 例如#xff1a; 给出的链表为1\to1\to21→1→2,返回1 \to 21→2. 给出的链表为1\to1\to 2 \…牛客题霸 [删除有序链表中重复的元素] C题解/答案 题目描述 删除给出链表中的重复元素链表中元素从小到大有序使链表中的所有元素都只出现一次 例如 给出的链表为1\to1\to21→1→2,返回1 \to 21→2. 给出的链表为1\to1\to 2 \to 3 \to 31→1→2→3→3,返回1\to 2 \to 31→2→3.
题解
一开始还在想要不要用map来记录下是否出现仔细看题后发现根本不用 因为题目说了元素从小到大是有序的那也就是说链表中重复的元素是紧挨着的那就好办了 直接比较p-next与p-next是否相等如果相等就保留一个如果不等就进行到一下节点继续比较
代码
/*** struct ListNode {* int val;* struct ListNode *next;* };*/class Solution {
public:/*** * param head ListNode类 * return ListNode类*/ListNode* deleteDuplicates(ListNode* head) {// write code hereListNode *p;phead;while(p!NULL){while(p-next!NULLp-valp-next-val){p-nextp-next-next;}pp-next;}return head;}
};