deleteDuplicates-ソートされたリンクリスト内の重複要素を削除します

タイトル説明

ソートされたリンクリストを指定して、重複するすべての要素を削除し、各要素が1回だけ表示されるようにします。

例1:

入力:1-> 1-> 2
出力:1-> 2

例2:

入力:1-> 1-> 2-> 3-> 3
出力:1-> 2-> 3

問題解決のアイデア

1. 2つの変数l(固定)とr(右に移動)をメモします
。2。繰り返し番号が発生したソートの問題-発生した番号の回転(-前の番号と異なるか、条件を満たさない)
3.lはr、Lは再びrに固定され、rは繰り返します2
4.最後のlとrが同じタイプの数を指している場合、つまり、その後に回転数がない場合(特殊処理、参照コード)

コードデモ

class Solution {
    
    
    public ListNode deleteDuplicates(ListNode head) {
    
    
        if(head==null)
            return head;
     ListNode l=head;
     ListNode r=l.next;
     while (r!=null)
        {
    
    
            if(r.val>l.val)
            {
    
    
                l.next=r;
                l=r;
            }
            r=r.next;
        }
     if(l.next!=null&&l.val==l.next.val)
         l.next=null;
     return head;
    }
}

効果

info
		解答成功:
		执行耗时:0 ms,击败了100.00% 的Java用户
		内存消耗:37.8 MB,击败了67.72% 的Java用户

おすすめ

転載: blog.csdn.net/tangshuai96/article/details/113277571
おすすめ