코린이의 소소한 공부노트

[LeetCode/Easy] 203. Remove Linked List Elements 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 203. Remove Linked List Elements

무지맘 2023. 1. 23. 14:24

1. Input

1) ListNode head

2) int val

 

2. Output

1) head에서 head.val == val인 노드를 제거한 결과를 반환

 

3. Constraint

1) node의 수의 범위는 [0, 104]이다.

2) 1 <= Node.val <= 50

3) 0 <= val <= 50

 

4. Example

Input: head = [1,2,6,3,4,5,6], val = 6 -> Output: [1,2,3,4,5]

 

5. Code

1) 첫 코드(2023/01/23)

/**
* Definition for singly-linked list.
* public class ListNode {
*     int val;
*     ListNode next;
*     ListNode() {}
*     ListNode(int val) { this.val = val; }
*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/

ListNode answer = null;
if(head!=null){
    answer = new ListNode();
    if(head.val!=val){
        answer.val = head.val;
        answer.next = removeElements(head.next, val);
    } else{
        answer = removeElements(head.next, val);
    }
}
return answer;

- 성능이 너무너무너무너무 좋지 않은데, 머리가 잘 돌아가지 않는다..