2021.12.25

抛弃杂念,坚持,坚持,坚持。 今天想记录的题只有一道。 删除链表中重复的节点。 new一个节点vHead,并用两个指针记录,之后遍历比较。 条件cur.next != null && cur.val == cur.next.val 记住cur第一个条件是优先的,之后pre.next=cur. 第二个则是直接赋值,cur往下走。

public ListNode deleteDuplication(ListNode pHead) {
       ListNode vHead=new ListNode(-1);
        vHead.next=pHead;
        ListNode pre=vHead,cur=pHead;
        while (cur!=null) {
            if (cur.next != null && cur.val == cur.next.val) {
                while (cur.next != null && cur.val == cur.next.val) {
                    cur = cur.next;
                }
                cur = cur.next;
                pre.next = cur;
            } else {
                pre = cur;
                cur = cur.next;
            }
        }
        return vHead.next;
    }
全部评论

相关推荐

04-17 23:48
西北大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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