题解 | #删除有序链表中重复的元素-II#

删除有序链表中重复的元素-II

http://www.nowcoder.com/practice/71cef9f8b5564579bf7ed93fbe0b2024

import java.util.*;

/*

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

public class Solution { /** * * @param head ListNode类 * @return ListNode类 */

public ListNode deleteDuplicates (ListNode head) {
    // write code here
    // init 
    ListNode res = new ListNode(-1);
    res.next = head;
    ListNode pre = res;
    ListNode cur = pre.next;
    
    while(cur != null){
        if (cur.next == null) break;
        else if (cur.next != null && cur.val != cur.next.val){
            pre = pre.next;
            cur = pre.next;
        }else {
            while (cur.next !=null && cur.val == cur.next.val){
                cur = cur.next;  
            }
            if (cur.next == null) pre.next = null;
            else {
                pre.next = cur.next;
                cur = pre.next;
            }
        }
        
        
    }
    return res.next;
}

}

全部评论

相关推荐

我要娶个什么名:学长你电脑闹鬼了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务