mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-10 20:40:39 +08:00
Merge pull request #1143 from Aaron-Lin-74/patch-3
Update 0024.两两交换链表中的节点.md
This commit is contained in:
@ -254,32 +254,20 @@ TypeScript:
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
function swapPairs(head: ListNode | null): ListNode | null {
|
function swapPairs(head: ListNode | null): ListNode | null {
|
||||||
/**
|
const dummyHead: ListNode = new ListNode(0, head);
|
||||||
* 初始状态:
|
let cur: ListNode = dummyHead;
|
||||||
* curNode -> node1 -> node2 -> tmepNode
|
while(cur.next !== null && cur.next.next !== null) {
|
||||||
* 转换过程:
|
const tem: ListNode = cur.next;
|
||||||
* curNode -> node2
|
const tem1: ListNode = cur.next.next.next;
|
||||||
* curNode -> node2 -> node1
|
|
||||||
* curNode -> node2 -> node1 -> tempNode
|
|
||||||
* curNode = node1
|
|
||||||
*/
|
|
||||||
let retNode: ListNode | null = new ListNode(0, head),
|
|
||||||
curNode: ListNode | null = retNode,
|
|
||||||
node1: ListNode | null = null,
|
|
||||||
node2: ListNode | null = null,
|
|
||||||
tempNode: ListNode | null = null;
|
|
||||||
|
|
||||||
while (curNode && curNode.next && curNode.next.next) {
|
cur.next = cur.next.next; // step 1
|
||||||
node1 = curNode.next;
|
cur.next.next = tem; // step 2
|
||||||
node2 = curNode.next.next;
|
cur.next.next.next = tem1; // step 3
|
||||||
tempNode = node2.next;
|
|
||||||
curNode.next = node2;
|
cur = cur.next.next;
|
||||||
node2.next = node1;
|
}
|
||||||
node1.next = tempNode;
|
return dummyHead.next;
|
||||||
curNode = node1;
|
|
||||||
}
|
}
|
||||||
return retNode.next;
|
|
||||||
};
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Kotlin:
|
Kotlin:
|
||||||
|
Reference in New Issue
Block a user