网站做任务 炸金花,做网站之前需要准备什么,如何安装wordpress图解,做问卷哪个网站好题目
给定一个已排序的链表的头 head #xff0c; 删除所有重复的元素#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 示例 1#xff1a; 输入#xff1a;head [1,1,2]
输出#xff1a;[1,2]示例 2#xff1a; 输入#xff1a;head [1,1,2,3,3]
输出#…题目
给定一个已排序的链表的头 head 删除所有重复的元素使每个元素只出现一次 。返回 已排序的链表 。 示例 1 输入head [1,1,2]
输出[1,2]示例 2 输入head [1,1,2,3,3]
输出[1,2,3]提示
链表中节点数目在范围 [0, 300] 内-100 Node.val 100题目数据保证链表已经按升序 排列
思路
注意注意:因为是有序的所以相同的数一定挨在一起
所以只要从“头”到 “倒一 ”遍历
如果当前节点和下一个节点 值相同就删掉下一个节点
代码
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/
class Solution {public ListNode deleteDuplicates(ListNode head) {if (head null){return head;}//cur表示当前节点从head开始ListNode cur head;while (cur.next!null){if (cur.next.val cur.val){cur.next cur.next.next;}else {curcur.next;}}return head;}
}
记录 总结
因为没注意到是有序的所以想了特别久以后一定要先看清题目