Skip to content

Commit 7afe0d9

Browse files
Refine
Signed-off-by: begeekmyfriend <begeekmyfriend@gmail.com>
1 parent 5bfc568 commit 7afe0d9

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

024_swap_nodes_in_pairs/swap_nodes.c

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,17 @@ static struct ListNode* swapPairs(struct ListNode* head)
1515
dummy.next = head;
1616
struct ListNode *prev = &dummy;
1717
struct ListNode *p = dummy.next;
18-
struct ListNode *next = p->next;
19-
while (p != NULL && next != NULL) {
20-
prev->next = next;
21-
p->next = next->next;
22-
next->next = p;
18+
19+
while (p != NULL && p->next != NULL) {
20+
struct ListNode *q = p->next;
21+
/* deletion */
22+
p->next = q->next;
23+
/* insertion */
24+
q->next = p;
25+
prev->next = q;
26+
/* iteration */
2327
prev = p;
2428
p = p->next;
25-
if (p != NULL) {
26-
next = p->next;
27-
}
2829
}
2930
return dummy.next;
3031
}

0 commit comments

Comments
 (0)