Merge pull request #1143 from Aaron-Lin-74/patch-3

Update 0024.两两交换链表中的节点.md
This commit is contained in:
程序员Carl
2022-03-24 09:54:14 +08:00
committed by GitHub

View File

@ -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;
curNode = node1;
} }
return retNode.next; return dummyHead.next;
}; }
``` ```
Kotlin: Kotlin: