9_83. 删除排序链表中的重复元素
题目描述:
解题思路:
给定的链表是排好序的,因此重复元素都是连续的,因此只需要对链表进行一次遍历,就可以完成删除重复元素的操作。
定义指针cur指向head,然后依次比较cur和cur.next的元素值,如果是重复的,直接让cur.next=cur.next.next
在最终的细节问题上,如果cur.next==null的话,表示该链表已经遍历完成,返回head即可。
代码
/**
* 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) {
ListNode cur = head;
if (head == null){
return null;
}
while (cur.next != null){
if (cur.val == cur.next.val){
cur.next = cur.next.next;
}else {
cur = cur.next;
}
}
return head;
}
}
滴水穿石、燕子衔泥,点点滴滴都是添补
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】