删除链表中的重复节点

原创 2018年04月16日 14:00:29

问题描述

在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5

代码实现(Java)

/*
 public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}
*/
public class Solution {
    public ListNode deleteDuplication(ListNode pHead)
    {
        if(pHead == null) return pHead;
        ListNode newHead = new ListNode(0);
        ListNode resNode = newHead;
        newHead.next = pHead;
        while(pHead != null){
            if(pHead.next != null && pHead.val == pHead.next.val){
                while(pHead.next != null && pHead.val == pHead.next.val)
                    pHead = pHead.next;
            pHead = pHead.next;
            newHead.next = pHead;
            }
            else{
                newHead = newHead.next;
                pHead = pHead.next;
            }
        }
     return resNode.next;
    }
}

题目及相关解法均来自于牛客网

剑指offer-----删除链表中重复的节点(java版)

一 题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。  二 例子 输入链表:1->2->3->3->4->4->5  处理后为:1->2->...
  • sniperken
  • sniperken
  • 2016-12-25 20:11:12
  • 1425

《剑指Offer》面试题57:删除链表中重复的节点

题目:在一个排序的链表中,如何删除重复的节点? 样例输入: 1 2 3 3 4 4 5 样例输出: 1 2 51.新建一个头节点,以防第一个节点被删除。 2.保存当前节点上个节点,循环遍历整个链...
  • qq_24486393
  • qq_24486393
  • 2016-07-09 21:07:30
  • 1053

删除链表中重复的结点JAVA

思路:定义四个结点,前结点prenode,当前结点node,下一个结点nextnode,删除结点delnode,在遇到删除结点时候要保证prenode连接上nextnode,防止断裂情况。public...
  • qq_16687803
  • qq_16687803
  • 2015-06-17 14:59:13
  • 1705

删除链表中重复的节点(Java实现)

本题为剑指offer面试题58 牛客网测试地址:https://www.nowcoder.com/questionTerminal/fc533c45b73a41b0b44ccba763f866ef ...
  • zjkC050818
  • zjkC050818
  • 2017-06-07 10:37:39
  • 1012

Java单链表基本操作(六)--删除重复节点;

package listnode;public class DeleteDuplecate_SingleList { public static void main(String[] args...
  • y999666
  • y999666
  • 2016-04-01 12:01:58
  • 1156

删除链表中的重复结点-Java

题目:给定排序的链表,删除重复元素,只保留重复元素第一次出现的结点; 如:给定:2–>3–>3–>5–>7–>8–>8–>8–>9–>9–>10 返回:2–>3–>5–>7–>8–>9–>10...
  • u010347226
  • u010347226
  • 2017-03-21 20:39:57
  • 1224

删除链表重复节点-java

这里我写了两个方法,都通过hackerrank案例测试package dd; import java.io.*; import java.util.*; class Node{ int dat...
  • u014377853
  • u014377853
  • 2016-10-01 12:00:54
  • 898

Python :删除链表中重复的节点

牛客网上的剑指 offer的在线编程: 题目描述: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->...
  • Lynette_bb
  • Lynette_bb
  • 2017-06-18 11:43:20
  • 734

删除排序链表中重复的结点

题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 思路:用递归删除,...
  • Bryan__
  • Bryan__
  • 2016-09-05 16:38:48
  • 1706

删除单链表中的重复节点(删除重复项)

题目:删除单链表中的重复节点(删除重复项;即只要链表中某个元素的出现次数大于1,那么就将链表中所有的该元素都删除)(即重复的结点不保留) 例如,链表1->3->2->5->6->1->5->7->3...
  • cyuyanenen
  • cyuyanenen
  • 2016-06-20 13:55:42
  • 959
收藏助手
不良信息举报
您举报文章:删除链表中的重复节点
举报原因:
原因补充:

(最多只允许输入30个字)