2022년 10월 14일 금요일 - 금요일 조아!


오늘 올려볼 문제는 2095번 Delete the Middle Node of a Linked List 이라는 문제이다.


사진을 클릭하면 해당 문제로 이동합니다.

leetcode 문제 사진

오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.

내일 화이팅합시다!!


입력


사진에서도 볼 수 있듯이 LinkedList의 head 노드가 입력으로 들어온다.



풀이 및 코드


해당 LinkedList의 중간 노드를 끊어서 리턴하는 문제다.


오늘은 처음부터 정답을 생각해냈다.

토끼와 거북이 알고리즘을 사용해서 문제를 풀었다.


이제 코드를 봐보자!


풀이코드

class Solution {
    public ListNode deleteMiddle(ListNode head) {
        if(head.next == null) return null;
        
        ListNode s = head, f = head, pre = null;
        
        while(true) {
            f = f.next;
            if(f == null) {
                pre.next = s.next;
                break;
            }
            
            f = f.next;
            if(f == null) {
                s.next = s.next.next;
                break;
            }
            
            pre = s;
            s = s.next;
        }
        
        return head;
    }
}




제출 화면

leetcode 문제 맞았습니다


휴 이제 내일인데... 잘 할수 있을지 모르겠다....

쨌든 최선을 다해보자!!!


내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.

+ Recent posts