存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。
在这里插入代码片 public ListNode deleteDuplicates(ListNode head) {
if (head == null || head.next == null){//判断链表为空或者只有一个元素
return head;
}
//定义两个辅助节点用来比较元素是否相同和遍历链表
ListNode temp1 = head;
ListNode temp2 = head.next;
while (true){
if (temp2 == null){
break;
}
if (temp1.val == temp2.val){//判断元素是否相同
temp1.next = temp2.next;//删除重复元素
temp2 = temp2.next;//temp2后移
}else{
temp1 = temp1.next;
temp2 = temp2.next;
}
}
return head;
}