Menghapus Duplikat Dari Linked List Terurut

Deskripsi Permasalahan

To do: deskripsi

Pembahasan

To do: pembahasan

Solusi

Berikut cara naif menghapus node duplikat pada linked list yang sudah terurut:

function deleteDuplicates(head: ListNode | null): ListNode | null {
    let currentNode = head;
    
    if (currentNode === null ){
        return null;
    }

    let res: ListNode = new ListNode(currentNode.val)
    let currentResNode = res;

    while (currentNode !== null) {
        let next = currentNode.next

        if (next !== null && currentNode.val < next.val) {
            const newNode = new ListNode(next.val)
            currentResNode.next = newNode
            currentResNode = currentResNode.next
        }

        currentNode = next;
    }

    return res;
};

Perhatikan bahwa dengan cara di atas, kita membuat linked list baru untuk menyimpan hasilnya, hal ini dapat lebih dioptimalkan agar penggunaan memory bisa berkurang. Bagaimana caranya?

Improvisasi Solusi

TO DO

Last updated