BM15 删除有序链表中重复的元素-I
删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次
例如:
给出的链表为1→1→2,返回1→2.
给出的链表为1→1→2→3→3,返回1→2→3.
解法
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param head ListNode类
* @return ListNode类
*/
typedef struct ListNode* pnode;;
struct ListNode* deleteDuplicates(struct ListNode* head ) {
// write code here
if(!head)return head;
pnode p = head;
pnode q = head->next;
while(q)
{
if(p->val == q->val){
q = p->next = q->next;
continue;
}
p = q;
q = q->next;
}
return head;
}