가장쉬운건 그냥 만나는거 해시맵에 넣고 있냐없냐 체크하는거일듯
정답
class Solution {
fun hasCycle(head: ListNode?): Boolean {
if (head==null)return false
val reMap = hashMapOf<ListNode, Int>()
var curNode=head!!
while (true){
if (curNode.next==null){
return false
}
if(reMap[curNode]==null){
reMap[curNode]=1
curNode=curNode.next!!
}else{
return true
}
}
}
}
class ListNode(var `val`: Int) {
var next: ListNode? = null
}
'알고리즘' 카테고리의 다른 글
릿코드 3005. Count Elements With Maximum Frequency 코틀린 (0) | 2024.03.08 |
---|---|
릿코드 876. Middle of the Linked List 코틀린 (0) | 2024.03.07 |
릿코드 977. Squares of a Sorted Array 코틀린 (0) | 2024.03.02 |
릿코드 2864. Maximum Odd Binary Number 코틀린 (0) | 2024.03.01 |
릿코드 100. Same Tree 코틀린 (0) | 2024.02.26 |