文章目录
- 题目介绍
- 题解
题目介绍
题解
法一:带dummy node
class Solution {
public ListNode deleteDuplicates(ListNode head) {
//根据提示,val的值在-100~100,如果括号里面不填则默认dummy.val=0,可能会和某些测试用例的val一样导致出错
ListNode dummy = new ListNode(101);
dummy.next = head;
ListNode cur = dummy;
while(cur.next != null){
if(cur.val == cur.next.val){
cur.next = cur.next.next;
}else{
cur = cur.next;
}
}
return dummy.next;
}
}
法二:不带dummy node
本题的头结点不会被删除或修改,所以不需要dummy也可以,只需要判断一下head是否为空即可
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(head == null){
return head;
}
ListNode cur = head;
while(cur.next != null){
if(cur.val == cur.next.val){
cur.next = cur.next.next;
}else{
cur = cur.next;
}
}
return head;
}
}