法一 直接法
class Solution {
public ListNode deleteDuplicates(ListNode head) {
ListNode cur = head;
while(cur != null && cur.next != null){
if(cur.val == cur.next.val){
cur.next = cur.next.next;
}else{
cur = cur.next;
}
}
return head;
}
}
法二 递归
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(head == null || head.next == null)
return head;
head.next = deleteDuplicates(head.next);
if(head.val == head.next.val){
return head.next;
}else{
return head;
}
}
}
本文介绍了两种删除链表中重复元素的方法:直接法和递归法。直接法通过遍历链表,当发现相邻节点值相等时,跳过重复节点。递归法则从头节点开始,比较当前节点与下一节点,若值相同则递归调用下一节点,直至链表末尾。
828

被折叠的 条评论
为什么被折叠?



