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

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

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

import java.util.*;

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

public class Solution {
    public ListNode deleteDuplicates (ListNode head) {
    if(head==null||head.next==null){return head;}
    ListNode fast,slow;
    fast=head;
    slow=head;
    if(fast!=null){fast=fast.next;}
    while(fast!=null){
        
        if(fast!=null&&fast.val==slow.val){
            fast=fast.next;
            slow.next=fast;
        }if(fast!=null&&fast.val!=slow.val){
            slow=fast;
            fast=fast.next;
        }
    }

      return head;
}}

思路很简单,就是整两个指针,一旦相同就改slow的指向即可,需要注意的是空指针的.val会报错,因此要先判断该指针不为空,才能使用.val。其次就是一些逻辑上的小问题了。

全部评论

相关推荐

996的工作制还是没能硬啃下去,快要面试怂了,取消了
牛客80700350...:很正常,不是所有人都能接受这种强度的。不叫怯战,这叫明智
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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