• 删除排序链表中的重复元素


    此博客链接:

    删除排序链表中的重复元素

    题目链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/

    题目

    存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。

    返回同样按升序排列的结果链表。

    示例 1:


    输入:head = [1,1,2]
    输出:[1,2]
    示例 2:


    输入:head = [1,1,2,3,3]
    输出:[1,2,3]

    题解

     我一开始还想着先用哈希把节点都保存一下,后来发现题目已经是有序的,如果有重复的节点,一定在前一个节点的后面,这就降低了难度。

    判断当前节点和后一个节点是否相等,如果相等则把当前节点的next指向后一个节点的next。

    代码

    /**
     * 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;
            }
            ListNode p=head;
            while(p.next!=null){
                if(p.next.val==p.val)
                {
                   p.next=p.next.next;
                }
                else
                  p=p.next;
            }
            return head;
        }
    }

    结果

     

    出来混总是要还的
  • 相关阅读:
    cmd登录系统用户
    Js操作Cookie
    Tomcat 调优方案
    Oracle 服务启动关闭
    Mysql服务启动与关闭
    JSP中的隐含对象
    JSP指令
    Js的String对象
    js排序
    MyBatis系列目录--5. MyBatis一级缓存和二级缓存(redis实现)
  • 原文地址:https://www.cnblogs.com/ping2yingshi/p/15124691.html
Copyright © 2020-2023  润新知