删除有序链表的重复节点
leetcode地址
思路:
关键在有序,有序说明有重复的节点就会紧挨在一起,这就可以利用递归思想将当前节点与下一节点比较。
struct ListNode* deleteDuplicates(struct ListNode* head)
{
if(head == NULL || head->next == NULL) return head;
head->next = deleteDuplicates(head->next);//连接链表
return head->val == head->next->val ? head->next:head;//相等将会跳过一个重复节点
}