- Definition for singly-linked list.
- function ListNode(val) {
this.val = val;
this.next = null;
- }
- @param {ListNode} head
- @return {ListNode}
*/
要求:删除一个排序链表中的重复数据
思路:从表头遍历,因为链表已经排序只需要删除相邻的值即可
var deleteDuplicates = function(head) {
// 头部为空的情况下直接返回空数组
if(!head) return []
//q为头部
var q = head
var p;
while(q.next){
//p为当前节点
p = q
//q为后继节点
q = p.next
if(p.val === q.val){
//如果p与q值相等,把前一个元素的指针指向 下一个元素的子元素
p.next = q.next
//q回退到p
q = p
}
}
return head
};