美文网首页
**[链表]83. Remove Duplicates from

**[链表]83. Remove Duplicates from

作者: Reflection_ | 来源:发表于2018-06-13 00:07 被阅读0次

    83. Remove Duplicates from Sorted List

    删除LinkedList中相同的node。
    基础链表题,但是要对链表理解透彻!!

    思路:
    建一个同样大小的二维数组,存(0,0)->当前点的最小和。

    JAVA 2ms Solution 的一种解法

    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) { val = x; }
     * }
     */
    class Solution {
        public ListNode deleteDuplicates(ListNode head) {
            if(head == null || head.next == null) return head;
            ListNode cur = head;
            while(cur!=null){
                ListNode nex = cur;
                while(nex.next != null && nex.val == nex.next.val){ //思考为什么不能是cur.next != null 
                    nex = nex.next;
                }
                cur.next = nex.next;//Must have!
                cur = nex.next;
                
                
            }
            return head;
            
        }
    }
    

    Java 2ms 解法一

    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) { val = x; }
     * }
     */
    class Solution {
        public ListNode deleteDuplicates(ListNode head) {
            if(head == null) return head;
            
            for(ListNode pre = head, cur = head.next; cur != null; cur = pre.next){
                if(pre.val == cur.val){
                    pre.next = cur.next;//Important step!
                }else{
                    pre = cur;
                }
            }
            return head;
            
        }
    }
    

    相关文章

      网友评论

          本文标题:**[链表]83. Remove Duplicates from

          本文链接:https://www.haomeiwen.com/subject/nkjdeftx.html