mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 11:34:46 +08:00
@ -86,6 +86,34 @@ public:
|
|||||||
|
|
||||||
## 其他语言版本
|
## 其他语言版本
|
||||||
|
|
||||||
|
C:
|
||||||
|
```
|
||||||
|
/**
|
||||||
|
* Definition for singly-linked list.
|
||||||
|
* struct ListNode {
|
||||||
|
* int val;
|
||||||
|
* struct ListNode *next;
|
||||||
|
* };
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
struct ListNode* swapPairs(struct ListNode* head){
|
||||||
|
//使用双指针避免使用中间变量
|
||||||
|
typedef struct ListNode ListNode;
|
||||||
|
ListNode *fakehead = (ListNode *)malloc(sizeof(ListNode));
|
||||||
|
fakehead->next = head;
|
||||||
|
ListNode* right = fakehead->next;
|
||||||
|
ListNode* left = fakehead;
|
||||||
|
while(left && right && right->next ){
|
||||||
|
left->next = right->next;
|
||||||
|
right->next = left->next->next;
|
||||||
|
left->next->next = right;
|
||||||
|
left = right;
|
||||||
|
right = left->next;
|
||||||
|
}
|
||||||
|
return fakehead->next;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Java:
|
Java:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user