解法1:
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(null==head){
return null;
}
ListNode phead=head;
while(null!=phead.next){
if(phead.next.val==phead.val){
phead.next=phead.next.next;
}else{
phead=phead.next;
}
}
return head;
}
}
解法2:递归
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(null==head ||null ==head.next){
return head;
}
head.next=deleteDuplicates(head.next);
return head.val==head.next.val?head.next:head;
}
}
本文提供两种方法来解决链表中重复元素的删除问题。第一种方法采用迭代方式,遍历链表并直接移除相邻重复节点;第二种方法使用递归思路,简化代码结构。这两种方法都能有效去除链表中的所有重复节点。
484

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



