Skip to content

Commit c023f99

Browse files
author
แ„‹แ…ตแ„‹แ…งแ†ซแ„‰แ…ฎ
committed
reverse linked list
1 parent f39ef72 commit c023f99

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package leetcode_study
2+
3+
/*
4+
* Node๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฌธ์ œ
5+
* ์ถ”๊ฐ€ ์ €์žฅ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•ด ๋…ธ๋“œ๋ฅผ ์ฑ„์›Œ ๋‘” ๋’ค ์—ญํ–‰ํ•˜๋ฉด์„œ ํฌ์ธํ„ฐ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐ
6+
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n)
7+
* -> ์ƒˆ๋กœ์šด ๊ณต๊ฐ„์— ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ: O(n)
8+
* -> ๊ฐ ๋…ธ๋“œ์— ์ ‘๊ทผํ•˜์—ฌ ํฌ์ธํ„ฐ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ: O(n)
9+
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(n)
10+
* -> ์ฃผ์–ด์ง„ ๋…ธ๋“œ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์„๋งŒํผ ์ €์žฅ ๊ณต๊ฐ„ ํ•„์š”: O(n)
11+
* */
12+
fun reverseList(head: ListNode?): ListNode? {
13+
val stack = mutableListOf<ListNode>()
14+
var currentNode = head
15+
if (head == null) return null
16+
17+
while (currentNode != null) {
18+
stack.add(currentNode)
19+
currentNode = currentNode.next
20+
}
21+
22+
23+
for (i in stack.size - 1 downTo 1) {
24+
stack[i].next = stack[i-1]
25+
}
26+
stack[0].next = null
27+
return stack[stack.size -1]
28+
}

0 commit comments

Comments
ย (0)