问题描述
给定一个有序链表的头节点,删除该有序链表的所有重复节点,使每个节点只显示一次,并返回删除重复节点后的有序链表。
示例
Input: head = [1,1,2]
Output: [1,2]
Input: head = [1,1,2,3,3]
Output: [1,2,3]
解决方案描述
- 判断头节点是否为空,如果为空,则返回空。
- 设定一个新的链表节点和链表头节点,并且都指向头节点。
设定一个当前节点,指向头节点的下一个节点,头结点的值赋给一个变量。
- 循环链表中每个节点,执行下面的操作:
- 如果当前节点不为空,并且该节点的值和变量值相等,则当前节点指向将当前节点的下一个节点,
直到当前节点为空或当前节点的值不等于变量的值,才往下执行。
- 如果当前节点不为空,将新链表节点的下一个节点指向当前节点后