forked from onlybooks/java-algorithm-interview
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathP13_4.kt
More file actions
25 lines (22 loc) · 746 Bytes
/
P13_4.kt
File metadata and controls
25 lines (22 loc) · 746 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package ch08
import datatype.ListNode
import java.util.*
class P13_4 {
fun isPalindrome(head: ListNode?): Boolean {
val deque: Deque<Int> = LinkedList()
// 연결 리스트를 데크에 삽입
var node = head
while (node != null) {
deque.add(node.`val`)
node = node.next
}
// 데크가 모두 비거나(짝수 개일 때) 1개 이하(홀수 개일 때)가 될 때까지 비교
while (!deque.isEmpty() && deque.size > 1) {
// 데크의 양 끝을 추출해 팰린드롬 여부 확인 [!== 인지 확인 필요]
if (deque.pollFirst() != deque.pollLast()) {
return false
}
}
return true
}
}