题目: 删除排序链表中的重复元素
题号:83
难易程度:简单
题面:
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。返回同样按升序排列的结果链表。
示例1:
输入:head = [1,1,2]
输出:[1,2]
示例2:
输入:head = [1,1,2,3,3]
输出:[1,2,3]
题目意思:
有一个已经排好序的链表,将这个链表中重复的元素删除,最后返回一个不存在重复元素的链表。
题解:
由于已经是排好序的的链表,所以重复的场景只会存在于head.val 和head.next.val,所以可以用递归的方式进行处理。
public class LeetCode83 {
public ListNode deleteDuplicates(ListNode head) {
if (head == null || head.next == null){
return head;
}
if (head.val == head.next.val){
head = deleteDuplicates(head.next);
}else{
head.next = deleteDuplicates(head.ne**加粗样式**xt);
}
return head;
}
}