给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 1:
输入: 1->1->2
输出: 1->2
示例 2:
输入: 1->1->2->3->3
输出: 1->2->3
/**
* @param {ListNode} head
* @return {ListNode}
*/
var deleteDuplicates = function(head) {
let rs = new ListNode();
let dummy = rs;
let arr = new Array();
while(head!=null){
// 就证明是重复项
if(arr.includes(head.val)){
// console.log(head.val);
// console.log("if==="+head.val);
// head = head.next;
// console.log("if==="+rs.val);
rs.next = null;
// if((head.next==null&&rs.val==rs.next.val)
// ||(head.next.val==head.val)){
// console.log(111);
// let node = rs;
// while(node.next!=null&&node.next.next!=null){
// node=node.next;//找到倒数第二个结点
// }
// node.next=null;
// }
// 不是重复项 就 移动并且更新字典
}else{
arr.push(head.val);
// console.log("else==="+head.val);
rs.next = head;
// let headT = head.next;
// if(headT!=null&&!arr.includes(headT.val)){
rs = rs.next;
// }
// console.log("else==="+rs.val);
}
head = head.next;
}
return dummy.next;
};
可不可以,不要多想~~~