题目描述:
存在一个按升序排列的链表,给你这个链表的头节点 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; };