• 剑指Offer(Java版)第六十一题:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点, 重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5


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

    public class ListNode{
    int val;
    ListNode next = null;
    ListNode(int val){
    this.val = val;
    }
    }

    public ListNode deleteDuplication(ListNode head){
    if(head == null || head.next == null){
    return head;
    }
    ListNode first = new ListNode(0);
    first.next = head;
    ListNode pre = first;
    ListNode current = head;
    while(current != null){
    if(current.next != null && current.val == current.next.val){
    while(current.next != null && current.val == current.next.val){
    current = current.next;
    }
    pre.next = current.next;
    current = current.next;
    }else{
    pre = pre.next;
    current = current.next;
    }
    }
    return first.next;
    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub

    }

    }

  • 相关阅读:
    lua中for循环
    调试经验
    vim中如何替换
    ~=
    size函数
    ubuntu截屏
    linux下报错处理经验
    error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
    《JavaScript》——DOM
    iOS_截屏并裁剪
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12548839.html
Copyright © 2020-2023  润新知