LeetCode 234.Palindrome Linked List (Java)

Kim Yongbin·2024년 4월 14일
post-thumbnail

문제

Palindrome Linked List - LeetCode

Code

/**
 * Definition for singly-linked list.
 * 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; }
 * }
 */
class Solution {
    public boolean isPalindrome(ListNode head) {
        Stack<Integer> stack = new Stack<>();

        ListNode node = head;

        while (node != null) {
            stack.push(node.val);
            node = node.next;
        }

        node = head;
        while(node != null){
            if (stack.pop() != node.val){
                return false;
            }
            node = node.next;
        }
        return true;
    }
}

  1. 노드를 탐색하며 값들을 스택으로 쌓은 뒤 하나씩 꺼내면서 비교하였다.
profile
반박 시 여러분의 말이 맞습니다.

0개의 댓글