하루에 한 문제

Palindrome Linked List -Java 본문

알고리즘/LeetCode

Palindrome Linked List -Java

dkwjdi 2021. 4. 2. 00:24

leetcode.com/explore/challenge/card/april-leetcoding-challenge-2021/593/week-1-april-1st-april-7th/3693/

import java.util.*;

//   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) {   
        
        List<Integer> list = new ArrayList<>();
        while(head!=null){
            int num=head.val;
            list.add(num);
            head=head.next;
        }
    
        int size= list.size();
        
        int left=0;
        int right=size-1;
        while(left<=right){
            if(list.get(left++)!=list.get(right--)) return false;     
        }
        return true;
        
    }
}

소요시간 : 15분

 

링크드리스트를 주고 팰린드롬인지 검사하는 문제입니다!

 

ArrayList에 Node값을 모두 넣어주고

 

left, right를 통해서

계속 같은지 다른지 확인해주면 끝입니다~

 

친구 추천으로 릿코드 처음 풀어봤는데

뭔가 사용법이 익숙하지 않네요... 영어라서 그런가...

 

끝~

 

 

Comments