• 删除链表中的所有重复出现的元素


    删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次

    例:11123, 返回 23

    思路:

    1,如果下一个节点和当前节点值相同,则删除下一个节点
    删除步骤
    1.1,当前节点的下一个为下一个节点的下一个
    1.2,下一个节点指向当前节点的下一个
    2,如果下一个节点和当前节点值不同,则都指向其下一个节点

    代码

    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) { val = x; }
     * }
     */
    class Solution {
        public ListNode deleteDuplicates(ListNode head) {
              if(head == null){
                return null;
            }
            //如果下一个节点和当前节点值相同,则删除下一个节点
            ListNode cur = head;
            ListNode next = head.next;
            while (next != null){
                if(cur.val == next.val){
                    cur.next = next.next;
                    next = cur.next;
                }else {
                    cur = next;
                    next = next.next;
                }
            }
            return head;
        }
    }
  • 相关阅读:
    c#格林治时间实现
    K3WISE常用表
    读取单元格数据
    水晶报表使用方法
    vs2010下使用sqlite
    C#执行EXE程序
    SQLLITE HELPER
    SQL LITE安装
    C#多线程
    VS2012 快捷键
  • 原文地址:https://www.cnblogs.com/dongma/p/14198366.html
Copyright © 2020-2023  润新知