
-Code
class Solution {
public ListNode deleteDuplicates(ListNode head) {
// 처음 위치 저장
ListNode answer = new ListNode(-101);
// 현재 노드 위치 저장
ListNode cur = answer;
while(head != null) {
int now = head.val;
// 현재 값과 다른 경우 저장
if (now != cur.val) {
ListNode addNode = new ListNode(now);
cur.next = addNode;
cur = cur.next;
}
head = head.next;
}
return answer.next;
}
}
이렇게 해서 맞았으나 원하는 풀이가 아닌 느낌이어서 다른 풀이를 힌트를 보고 작성해 봤습니다.
class Solution {
public ListNode deleteDuplicates(ListNode head) {
// 현재 노드 지정
ListNode cur = head;
while(cur != null && cur.next != null) {
if (cur.val == cur.next.val) {
// 현재 값과 다음 값이 같은 경우
cur.next = cur.next.next;
} else {
// 다른 값인 경우 다음 노드로 넘어감
cur = cur.next;
}
}
return head;
}
}
거의 다 작성하고 자잘한 오류 부분을 수정하는 것에 다른 풀이를 참조했습니다. 이게 맞는 풀이 같으나 노드 클래스를 이용한 문제를 몇 문제 풀어보지 않아서 좀 헤매었습니다.
'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [LeetCode/Java] 94. Binary Tree Inorder Traversal (0) | 2025.11.23 |
|---|---|
| [백준/Java] 15216번 Another Brick in the Wall (0) | 2025.11.23 |
| [LeetCode/Java] 70. Climbing Stairs (0) | 2025.11.22 |
| [LeetCode/Java] 69. Sqrt(x) (0) | 2025.11.22 |
| [LeetCode/Java] 67. Add Binary (0) | 2025.11.22 |