정렬 목록 에서 중복 제거 | leetcode 83 [Java 문제 풀이 보고서]

Given a sorted linked list, delete all duplicates such that each element appear only 
once
.
For example,
Given  1->1->2
, return  1->2
.
Given  1->1->2->3->3 , return  1->2->3 .
[문제 풀이 사고]: 여기 서 좋 은 효율 적 인 알고리즘 을 생각 하지 못 하고 일반적인 파워 알고리즘 으로 해결 했다.사고방식 은 매우 간단 하 다. 하나하나 비교 하고 같은 값 을 만 났 을 때 체인 테이블 에서 옮긴다.
【 코드 구현 】:
public class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        ListNode tmp = head;
        while(tmp != null && tmp.next != null) {
            if(tmp.val == tmp.next.val) tmp.next = tmp.next.next;
            //tmp = tmp.next; //       ,    [1,1,1]   ,                                                                                         //             ,     。
            else tmp = tmp.next;
        }
        return head;
    }
}

더 좋 은 알고리즘 은 나중에 실현 한다.마지막 으로 여러분 의 비판 과 시정 을 환영 합 니 다.

좋은 웹페이지 즐겨찾기