2022년 03월 08일 화요일 - 낼 쉰다 헤헿헿
오늘 올려볼 문제는 141번 Linked List Cycle 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
이 문제랑 비슷한 문제를 스터디에서 바로 어제 다뤘는데 더 쉬운게 나와서 이거 원... ㅋㅋㅋㅋ
입력
사진에서도 볼 수 있듯이 Linked List 하나가 입력으로 들어온다.
풀이 및 코드
주어진 Linked List에 cycle이 존재하는지 판단하여 리턴하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
노드 2개를 만들어 하나는 1개씩 움직이고 다른 하나는 2개씩 움직여서 만나면 true, 만나지 않고 null이 되면 false를 리턴한다.
이제 코드를 봐보자!
풀이코드
public class Solution {
public boolean hasCycle(ListNode head) {
if(head == null || head.next == null)
return false;
ListNode slow = head.next, fast = head.next.next;
while(slow != null && fast != null)
{
if(slow == fast)
return true;
try
{
slow = slow.next;
fast = fast.next.next;
}
catch(Exception e)
{
break;
}
}
return false;
}
}
제출 화면
오늘 문제는 바로 어제 스터디에서 다뤘던 문제라서 너무 쉽게 풀었다.
내일은 좀 적당히 어렵고 재밌는 문제가 나왔으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
| [LeetCode] 2번 문제를 풀어보았다. (ft. java) (0) | 2022.03.10 |
|---|---|
| [LeetCode] 82번 문제를 풀어보았다. (ft. java) (0) | 2022.03.09 |
| [LeetCode] 21번 문제를 풀어보았다. (ft. java) (0) | 2022.03.07 |
| [LeetCode] 1359번 문제를 풀어보았다. (ft. java) (0) | 2022.03.06 |
| [LeetCode] 740번 문제를 풀어보았다. (ft. java) (0) | 2022.03.05 |