๐ก ๋ฌธ์
๐ฏ ํ์ด ๊ณผ์
๋ค์์๋ถํฐ ๋ ธ๋์ ์์๋ฅผ ์ฌ๊ท์ ์ผ๋ก ๋ณ๊ฒฝ(swap)ํ๋ ์๊ตฌ์กฐ๊ฑด์ ๊ตฌํํ๋ ๋ฌธ์ ์ ๋๋ค.
ํฌ์ธํฐ๋ฅผ ๋ฐ๊ฟ์ฃผ๊ธฐ ์ํด ์ฌ๊ทํธ์ถ ์ ํ์ฌ ๋ ธ๋์ ์ด์ ๋ ธ๋์ ๋ํ ์ฐธ์กฐ๋ฅผ ํจ๊ป ์ ๋ฌํ๋๋ก ํ์ต๋๋ค.
๐จ๐ป ์ฝ๋
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var swapPairs = function(head) {
function swap(prev, cur, step) {
if (!cur) {
return null
}
swap(cur, cur.next, step + 1)
let newHead = cur
if (step % 2 !== 0) {
const nextNode = cur.next
if (nextNode) {
cur.next = nextNode.next
nextNode.next = cur
if (prev) {
prev.next = nextNode
}
newHead = nextNode
}
}
return newHead
}
return swap(null, head, 1)
};
๋ฐ์ํ
'๐ algorithm > leetcode' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
LeetCode 13 - Roman to Integer (Easy) (0) | 2023.04.24 |
---|---|
LeetCode 994 - Rotting Oranges (Medium) (0) | 2023.04.24 |
LeetCode 35 - Search Insert Position (Easy) (0) | 2023.02.20 |
LeetCode 169 - Majority Element (Easy) (2) | 2023.02.05 |
LeetCode 733 - Flood Fill (Easy) (0) | 2022.03.07 |
๐ฌ ๋๊ธ