题目描述:
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。
解析:
1.定义指针curr指向头节点
2.while循环整个链表,判断指针指的值是否和下一个值相等
如果相等,则当前指针curr所指的节点指向下下个节点
如果不相等,则指针curr移动到下一个节点
Java:
public ListNode deleteDuplicates(ListNode head) {
ListNode curr = head;
while(curr != null && curr.next != null) {
if(curr.val == curr.next.val) {
curr.next = curr.next.next;
} else {
curr = curr.next;
}
}
return head;
}JavaScript:
var deleteDuplicates = function(head) {
let curr = head;
while(curr !== null && curr.next !== null) {
if(curr.val === curr.next.val) {
curr.next = curr.next.next;
} else {
curr = curr.next;
}
}
return head;
};
京公网安备 11010502036488号