- 删除排序链表中的重复元素
题目
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。
举例
思路:
题目中给了链表有序,所有很容易想到从头开始遍历,如果指向的下一个和当前的值相同,就指向下下一个,一次循环,直到最后!
代码
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;
}
总结:
其实明白链表的原理也就明白这题的解法,题目给了有序,就很简单了,这里我在想如果无序,是否可以让他排成有序再解决!
2021年9月28日18:13:11