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

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

https://www.nowcoder.com/practice/c087914fae584da886a0091e877f2c79

import java.util.*;

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

public class Solution {
    /**
     *
     * @param head ListNode类
     * @return ListNode类
     */
    public ListNode deleteDuplicates (ListNode head) {
        if(head==null||head.next==null){
            return head;
        }
      //上一个有效节点
        ListNode lastNode = head;
      //遍历到的当前节点
        ListNode currentNode = head;
        while ((currentNode = currentNode.next) != null) {
          //如果遍历到的节点值不一样, 那么就与上一个有效节点连接
            if (currentNode.val != lastNode.val) {
                lastNode.next = currentNode;
                lastNode = currentNode;
            }
        }
      //最后一个有效节点肯是没有next的
        lastNode.next = null;
        return head;
    }
}

全部评论

相关推荐

allin秋招的大菠萝很爱交友:后续,已拿offer ~查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务