Remove Duplicates from Sorted List
ํด๊ฒฐ ๋ฐฉ๋ฒ(ํฌ ํฌ์ธํฐ)
โ
Java ์ฝ๋
๐์ฝ๋ ์ค๋ช
Last updated
Last updated
public class Solution {
public ListNode deleteDuplicates(ListNode head) {
if (head == null) return null;
ListNode curr = head; // ํ์ฌ ๋
ธ๋ ํฌ์ธํฐ
while(curr.next != null) { // ๋ฆฌ์คํธ ์ํ
if(curr.val == curr.next.val) {
curr.next = curr.next.next; // ์ค๋ณต์ด๋ฉด ๊ฑด๋๋ฐ๊ธฐ
} else {
curr = curr.next; // ์ค๋ณต์ด ์๋๋ฉด ๋ค์ ๋
ธ๋๋ก ์ด๋
}
}
return head; // ์ค๋ณต ์ ๊ฑฐ๋ ๋ฆฌ์คํธ ๋ฐํ
}
//ํ
์คํธ์ฉ ๋ฉ์๋ (๋ฐฐ์ด => LinkedList ๋ณํ)
public static ListNode createLinkedList(int[] values) {
if(values.length == 0) return null;
ListNode head = new ListNode(values[0]);
ListNode curr = head;
for(int i = 1; i < values.length; i++) {
curr.next = new ListNode(values[i]);
curr = curr.next;
}
return head;
}
//์ถ๋ ฅ ๋ฉ์๋
public static void printLinkedList(ListNode head) {
ListNode curr = head;
while(curr != null) {
System.out.println(curr.val + " ");
curr = curr.next;
}
System.out.println();
}
public static void main(String[] args) {
Soultion solution = new Solution();
ListNode head1 = createLinkedList(new int[]{1,1,2});
ListNode result1 = solution.deleteDuplicates(head1);
printLinkedList(result1); // result : 1 2
ListNode head2 = createLinkedList(new int[]{1,1,2,3,3});
ListNode result2 = solution.deleteDuplicates(head2);
printLinkedList(result2); // result : 1 2 3
}
}