app网站建站系统策划方案,网站后台用户名,做网站周记,个体户公司名称怎么取题目来源
力扣83删除排序链表中的重复元素
题目描述
给定一个已排序的链表的头 head #xff0c; 删除所有重复的元素#xff0c;使每个元素只出现一次 。返回 已排序的链表 。
思路分析
思路一#xff1a;使用两个指针#xff0c;last指针指向上一个元素#xff0c;…题目来源
力扣83删除排序链表中的重复元素
题目描述
给定一个已排序的链表的头 head 删除所有重复的元素使每个元素只出现一次 。返回 已排序的链表 。
思路分析
思路一使用两个指针last指针指向上一个元素current指向当前元素当last指针的val与current的val值一样时current后移不一样则把last指针指向current元素。
思路二使用一个指针point当point与point的下一个元素val值相同时point的next指针指向它再下一个元素删除point的直接后继节点反之point指针向后移动。
代码实现
java实现
public class Solution {public ListNode deleteDuplicates(ListNode head) {// 唯一序列的末尾元素ListNode last head;// 未筛选序列的第一个元素ListNode current head;while(current ! null) {while(current ! null current.val last.val) {current current.next;}last.next current;last current;}return head;}
}c实现
class Solution {
public:ListNode* deleteDuplicates(ListNode* head) {// 唯一序列的末尾元素ListNode* point head;while (point ! nullptr point-next ! nullptr) {if (point-val point-next-val) {point-next point-next-next;}else{point point-next;}}return head;}
};