美文网首页
链表-删除链表中重复的结点-java

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

作者: Jacinth | 来源:发表于2017-07-20 20:50 被阅读0次

删除链表中重复的结点

题目描述

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

/*解题思路:递归
*/
/*
 public class ListNode {
    int val;
    ListNode next = null;
    ListNode(int val) {
        this.val = val;
    }
}
*/
public class Solution {
    public ListNode deleteDuplication(ListNode pHead)
    {
        //当前只有0或1个节点,之间返回
        if(pHead==null||pHead.next==null){
            return pHead;
        }
        if(pHead.val==pHead.next.val){//当节点与前下一个节点重复
            ListNode pNode=pHead.next;
            //跳过与当前节点重复的所有节点,寻找第一个不重复的节点
            while(pNode!=null&&pNode.val==pHead.val){
                pNode=pNode.next;
            }
            return deleteDuplication(pNode);
        }else{//当前节点不是重复节点
            pHead.next=deleteDuplication(pHead.next);//保留当前节点,从下一个节点开始递归
            return pHead;
        }
        
    }
}

相关文章

  • 链表-删除链表中重复的结点-java

    删除链表中重复的结点 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返...

  • JZ-056-删除链表中重复的结点

    删除链表中重复的结点 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返...

  • 剑指offer----删除链表中重复的节点

    题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表...

  • 面试题18_2:删除链表中重复的节点

    在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->...

  • 删除链表中重复的结点

    在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->...

  • 删除链表中重复的结点

    在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->...

  • 剑指Offer56 删除链表重复节点(链表多指针遍历)

    在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->...

  • 删除链表中重复节点

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,...

  • Python实现删除链表中重复的节点

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,...

  • 剑指offer-删除链表中重复的结点

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,...

网友评论

      本文标题:链表-删除链表中重复的结点-java

      本文链接:https://www.haomeiwen.com/subject/mwbjkxtx.html