노드의 중간을 리턴해라
만약 노드갯수가 짝수면 중간2개를 리턴해라
그냥 노드 순회돌아서 전부 더하고,절반위치에서 더하면될듯,짝수든 홀수든 받는건 노드니까 대충던져도됨
정답
class Solution {
fun middleNode(head: ListNode?): ListNode? {
if (head!!.next==null){
return head
}
val numList = mutableListOf<Int>()
val nodeList = mutableListOf<ListNode>()
var curNode=head!!
while (true){
numList.add(curNode.`val`)
nodeList.add(curNode)
if (curNode.next==null){
break
}
curNode=curNode.next!!
}
return nodeList[numList.size/2]
}
}
'알고리즘' 카테고리의 다른 글
릿코드 2540. Minimum Common Value 코틀린 (0) | 2024.03.09 |
---|---|
릿코드 3005. Count Elements With Maximum Frequency 코틀린 (0) | 2024.03.08 |
릿코드 141. Linked List Cycle 코틀린 (0) | 2024.03.06 |
릿코드 977. Squares of a Sorted Array 코틀린 (0) | 2024.03.02 |
릿코드 2864. Maximum Odd Binary Number 코틀린 (0) | 2024.03.01 |