- ์ต์ ํ๋ ๋ฐฉ๋ฒ์ ์๋๋ค. ์ผ๋จ Linked List๋ฅผ ๋๊น์ง ํ๋ฉด์
ArrayList<Integer> list
์ ๋ด์์ฃผ๊ณ , ๊ทธlist
์ ์ ๋๊ฐ๋ค์ ํ๋์ฉ ๋น๊ตํด๊ฐ๋ฉด์ ์ด๊ธ๋๋ ๊ฒ ์์ผ๋ฉด ๋ฐ๋กanswer = false
๋ฅผ ๋ฃ๊ณ ๋์๋ฒ๋ฆฐ๋ค. Linked List
๋ฅผ ์ํํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐO(n)
+ArrayList
์ ์ ๋ฐ์ ์ํํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐO(n/2)
ํด์ ๊ฒฐ๊ตญ ๋๋ตO(n)
์ด๊ธฐ๋ ํ๋ฐ, ์ฑ๋ฅ์ด ํ์ 70%์ ์ํ๋ค ใ
- ์๊ฐ์ด ๋น ๋ฅธ ๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋ฉด ๋ ๊ฐ์ ๋ณ์ (fast, slow)๋ฅผ ์จ์ ๋ญ๊ฐ๋ฅผ ํ๋ ๊ฒ ๊ฐ์๋ฐ, ์ดํด๋ ๋์ค์ ํด์ผ๊ฒ ๋ค!
- ์ฒ์ ์ ์ถํ์ ๋, [-129, -129] ์ผ์ด์ค์์ Wrong Answer๊ฐ ๋์๋ค. ์ผ๋จ ์๋ชป ์๊ฐํ๋ ์ ์, ์๋ฐ๋ฅผ ๋๋ฌด ๊ฒํฅ๊ธฐ ์์ผ๋ก ํ์ด์ ๊ทธ๋ฐ์ง
Integer
๋ ๊ฐ์ฒด๋ผ๋ ์ฌ์ค์ ๊น๋นกํ๊ณ ๋ฐ๋ก ๊ทธ๋ฅ==
์ฐ์ฐ์๋ก ๋น๊ตํด๋ฒ๋ฆฐ ๊ฒ!intValue()
๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ฃผ์๊ฐ์ด ์๋ ์ค์ ๊ฐ์ ๋น๊ตํด์ค์ผ ํ๋ค.
- ๊ทผ๋ฐ ์๋ฌด๋ฆฌ ์๊ฐํด๋ ์ด์ํ๋ค. ์ ๋ค๋ฅธ ์ผ์ด์ค๋ค์ ๋ง์์ง..? ๊ทธ๋์ ์ฐพ์๋ณด๋๊น ์๋ ๋ด์ฉ์์ ๋ต์ ์ป์๋ค.
IntegerCache
ํด๋์ค์์ ~128๋ถํฐ 127๊น์ง๋ auto-boxing์ด ๋๋๋ก ๊ด๋ฆฌ๋ฅผ ํด์ค๋ค๊ณ ํ๋ค! ๊ทธ๋ฌ๋ ๋ฑ -129์์๋ ์๋ฌ๊ฐ ๋ฌ์ง๋ง, ๋ค๋ฅธ ์ผ์ด์ค์์๋ ์๋ฌ๊ฐ ์ ๋ ๊ฒ!
- ์ ์ฒด ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
/**
* 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) {
boolean answer = true;
ArrayList<Integer> list = new ArrayList<Integer>();
ListNode node = head;
while(node!=null){
list.add(node.val);
node = node.next;
}
int len = list.size();
for(int i=0;i<(len/2);i++){
if(list.get(i).intValue() != list.get(len-i-1).intValue()){
answer = false;
break;
}
}
return answer;
}
}
'์๊ณ ๋ฆฌ์ฆ > ๋ฌธ์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฐ] Leetcode 637 - Average of Levels in Binary Tree (0) | 2021.03.05 |
---|---|
[์๋ฐ] Leetcode 268 - Missing Number (0) | 2021.03.04 |
[์๋ฐ] Leetcode 100 - Same Tree (0) | 2021.02.28 |
[์๋ฐ] ๋ฐฑ์ค 2042 - ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ (0) | 2021.01.06 |
[์๋ฐ] ๋ฐฑ์ค 4386 - ๋ณ์๋ฆฌ ๋ง๋ค๊ธฐ (0) | 2021.01.05 |