Google 태그 관리자 아이콘

알고리즘 풀이

.leetcode(876. Middle of the Linked List)

silvergoni 2022. 1. 24. 23:02
반응형

https://leetcode.com/problems/middle-of-the-linked-list/

 

1. 2022.01.24 시도

소요시간: 4분

class Solution {
    public ListNode middleNode(ListNode head) {
        if (head == null) {
            return null;
        }

        ListNode slow = head;
        ListNode fast = head.next;
        
        while(fast != null && fast.next != null) {
            slow = slow.next;
            fast = fast.next.next;
        }
        
        if (fast == null) {
            return slow;
        }
        
        return slow.next;
    }
}

풀이 접근 과정

slow, fast로 하면 쉽게 가운데를 찾을 수 있다. 짝수개의 노드냐 홀수개의 노드냐에 따라 가운데 정의가 달라지기때문에 리턴할때 한번 구분하여 리턴했다.

 

느낀점

  • 짧게 나타내면 이렇게 줄여볼 수 있다.
class Solution {
    public ListNode middleNode(ListNode head) {
        ListNode slow = head;
        ListNode fast = head;
        
        while(fast != null && fast.next != null) {
            slow = slow.next;
            fast = fast.next.next;
        }
        
        return slow;
    }
}

알고리즘 정리노트: .leetcode(알고리즘 문제풀이 접근)

반응형

 

'알고리즘 풀이' 카테고리의 다른 글

.leetcode(841. Keys and Rooms)  (0) 2022.01.30
.leetcode(657. Robot Return to Origin)  (0) 2022.01.27
.leetcode(125. Valid Palindrome)  (0) 2022.01.24
.leetcode(344. Reverse String)  (0) 2022.01.24
.leetcode(844. Backspace String Compare)  (0) 2022.01.22