题目描述
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
解题思路
首先,链表中如果没有节点或者只有1个节点,直接返回pHead
接下来,判断头结点是不是和它后边一个节点重复
- 如果重复的话,就一直往后找重复的节点,直到找到第一个不和pHead重复的节点,递归该节点
- 如果不重复的话,pHead仍然保留,递归pHead.next,并且要记得递归返回的节点和pHead.next关联上,最后返回pHead
代码实现
1 | /* |