题目:
存在一个按升序排列的链表,给你这个链表的头节点
head
,请你删除所有重复的元素,使每个元素 只出现一次 。返回同样按升序排列的结果链表。
解题思路:如果当前节点的值等于下一个节点的值,只需要将当前节点的next等于下一个节点的next即可。
笔者建议:这道题虽然很简单,但是如果长时间不接触,容易忘记一些详细步骤,所以笔者建议在写该题时先复习复习链表的基本操作。还有题目中给的class ListNode自己默写一遍看能不能写出来,如果题目中需要自己编写,是否可以写出来。
代码实现:
class Solution {
public ListNode deleteDuplicates(ListNode head) {
ListNode cur = head;
if (head==null)return null;
while (cur.next!=null){
if (cur.val==cur.next.val){
cur.next=cur.next.next;
}
else{
cur=cur.next;
}
}
return head;
}
}