题解 | #牛群排列去重#

牛群排列去重

https://www.nowcoder.com/practice/8cabda340ac6461984ef9a1ad66915e4

import java.util.*;

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

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param head ListNode类 
     * @return ListNode类
     */
    public ListNode deleteDuplicates (ListNode head) {
        // 链表长度 <= 1
        if (head == null || head.next == null) {
            return head;
        }
	    // pre 前一个节点
	    // cur 当前节点
        ListNode pre = head;
        ListNode cur = head.next;
        while (cur != null) {
            if (pre.val == cur.val) {
			    // cur 重复节点,删除
                pre.next = cur.next;
            } else {
			    // cur 非重复节点,pre向后移动
                pre = cur;
            }
		    // cur向后移动
            cur = cur.next;
        }
        return head;
    }
}

本题考查的依然是链表的遍历和删除,使用两个临时变量来遍历链表,遇到重复的节点改变指针指向即可

全部评论

相关推荐

牛客771574427号:恭喜你,华杰
点赞 评论 收藏
分享
微风不断:兄弟,你把四旋翼都做出来了那个挺难的吧
点赞 评论 收藏
分享
3 收藏 评论
分享
牛客网
牛客企业服务