• 83. Remove Duplicates from Sorted List


    Given a sorted linked list, delete all duplicates such that each element appear only once.

    Example 1:

    Input: 1->1->2
    Output: 1->2
    

    Example 2:

    Input: 1->1->2->3->3
    Output: 1->2->3
    以为简单结果一下还没做出来,逻辑太差
    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) { val = x; }
     * }
     */
    class Solution {
        public ListNode deleteDuplicates(ListNode head) {
           
            ListNode cur = head;
            while(cur!= null && cur.next != null){//细节,必须先判断cur
                if(cur.val == cur.next.val){
                    cur.next = cur.next.next;
                }
                else{
                    cur = cur.next;
                }
            }
            return head;
        }
    }
    class Solution {
        public ListNode deleteDuplicates(ListNode head) {
            if(head == null) return null;
            for(ListNode prev = head, cur = prev.next; cur != null; cur = prev.next){
                if(prev.val == cur.val){
                    prev.next = cur.next;
                }
                else    prev = cur;
            }
            return head;
        }
    }

    另一种迭代,更好懂。cur一直等于prev的next,用prev来判断后面的是否有重复。

    
    
  • 相关阅读:
    类加载
    LinkedList插入排序实现
    99乘法表
    关于IO流的抽象类
    分解质因数
    Struts2小demo遇到的几个问题
    Tomcat设置欢迎页问题
    数据库迁移
    EF – 1.模式
    正则表达式
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/10341623.html
Copyright © 2020-2023  润新知