题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
问题分析:创建两个指针,一个指针p用来遍历原链表,另一个指针q用来构建新链表,同时再定义一个节点指向新链表的头节点。判断p与p的下一节点的值是否相等,若不等则添加到新链表中,否则继续判断后续节点的值与当前节点是否相等。此外,还需要一个判断链表末尾的值是否重复的标志,以此判断遍历完成后是否仍需添加最后的节点。
代码截图:
网友评论