小景哥哥

世界很大,而我们还需要再成长!

您现在的位置是:首页>爱编程>详细内容

56.删除链表中重复的结点

发布时间:2018-08-25 00:00:00编辑:Jason浏览(246)评论(0)

    56.删除链表中重复的结点

    题目描述

    在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表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)
        {
            if(pHead == null)
                return null;
            if(pHead != null && pHead.next == null)
                return pHead;
            ListNode current;
            if(pHead.next.val == pHead.val){
                current = pHead.next.next;
                while(current != null && current.val == pHead.val)
                    current = current.next;
                return deleteDuplication(current);
            }else{
                current = pHead.next;
                pHead.next = deleteDuplication(current);
                return pHead;
            }
            
        }
        
    }

     

     

     

关键字词:offer