๋ฌธ์
ํ์ด ๊ณผ์
๋งํฌ๋ ๋ฆฌ์คํธ์์ ๋ค์์ n
๋ฒ์งธ ๋
ธ๋๋ฅผ ์ญ์ ํ๋ ์ฐ์ฐ์ ๊ตฌํํ๋ ๋ฌธ์ ์
๋๋ค.
๋ค์์ n
๋ฒ์งธ ๋
ธ๋๋ฅผ ์ฐพ๊ธฐ ์ํด์ ์ฐ์ ๋ฆฌ์คํธ์ ์ ์ฒด ํฌ๊ธฐ๋ฅผ ์์๋ธ ๋ค์, ์ด๋ํด์ผ ํ๋ offset
์ ๊ณ์ฐํฉ๋๋ค.
์ดํ ๋ ๊ฐ์ ํฌ์ธํฐ๋ฅผ ํ์ฉํด์ next
์์ฑ์ ์ฌ์ง์ ํ๋ฉด ๋ฉ๋๋ค.
์ฝ๋
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @param {number} n
* @return {ListNode}
*/
var removeNthFromEnd = function (head, n) {
let offset = getSize(head) - n;
let prev = null;
let cur = head;
while (offset > 0) {
prev = cur;
cur = cur.next;
offset--;
}
if (prev) {
prev.next = cur.next;
} else {
head = head.next;
}
return head;
};
function getSize(head) {
let size = 1;
for (let cur = head; cur.next; cur = cur.next) size++;
return size;
}
๋ฐ์ํ
'๐ algorithm > leetcode' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
LeetCode 89 - Gray Code (Medium) (0) | 2021.03.03 |
---|---|
LeetCode 118 - Pascal's Triangle (Easy) (0) | 2021.03.03 |
LeetCode 79 - Word Search (Medium) (0) | 2021.03.03 |
LeetCode 771 - Jewels and Stones (Easy) (0) | 2021.03.03 |
LeetCode 5 - Longest Palindromic Substring (Medium) (0) | 2021.03.03 |
๐ฌ ๋๊ธ