力扣 83.删除排序链表中的重复元素

一、题目

二、思路

需要比较当前节点与前一个节点的 val 是否相同,相同则删除当前节点。(如果是比较当前节点和下一节,需要检查 cur.next 是否为空)

三、代码

java 复制代码
/**
 * 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 || head.next == null) {
            return head;
        }
        ListNode pre = head;
        ListNode cur = head.next;
        while (cur != null) {
            if (cur.val == pre.val) {
                pre.next = cur.next;
            } else {
                pre = cur;
            }
            cur = cur.next;
        }
        return head;
    }
}
java 复制代码
class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        if (head == null) {
            return head;
        }
        ListNode cur = head;
        while (cur.next != null) {
            if (cur.val == cur.next.val) {
                cur.next = cur.next.next;
            } else {
                cur = cur.next;
            }
        }
        return head;
    }
}
相关推荐
Dream it possible!几秒前
LeetCode 热题 100_前 K 个高频元素(73_347_中等_C++)(堆)(哈希表+排序;哈希表+优先队列(小根堆))
数据结构·c++·leetcode·散列表
半桔36 分钟前
std::stack和std::queue
c语言·数据结构·c++·算法·排序算法
奋进的小暄1 小时前
贪心算法(6)(java)优势洗牌
算法·贪心算法
Summer_star_summer1 小时前
代码随想录-回溯
java·数据结构·算法
拓端研究室TRL3 小时前
专题|Python梯度提升实例合集:GBM、XGBoost、SMOTE重采样、贝叶斯、逻辑回归、随机森林分析信贷、破产数据...
开发语言·python·算法·随机森林·逻辑回归
m0_625725673 小时前
图论part3|101.孤岛的总面积、沉没孤岛、417. 太平洋大西洋水流问题
算法·图论
DevangLic3 小时前
【3-14 STC-pair超级详细的解说】
c++·网络协议·算法·蓝桥杯
奥顺互联3 小时前
如何处理PHP中的文件上传错误
算法
奥顺互联3 小时前
如何处理PHP中的编码问题
算法
虽千万人 吾往矣3 小时前
golang算法二叉树对称平衡右视图
开发语言·算法·golang