Palindrome Linked List - LeetCode
하지만, 나는 러너 기법은 우선 어려운 것 같아 노드를 사용하는 기법으로 풀이를 학습함
public class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
public boolean isPalindrome(ListNode head) {
Deque<Integer> deque = new LinkedList<>();
ListNode node = head;
while (node != null) {
deque.add(node.val);
node = node.next;
}
while(!deque.isEmpty() && deque.size() > 1) {
if (deque.pollFirst() != deque.pollLast()) {
return false;
}
}
return true;
}