#24 Swap Nodes in Pairs
2015-07-18 23:08
591 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">题目链接:https://leetcode.com/problems/swap-nodes-in-pairs</span>
Given a linked list, swap every two adjacent nodes and return its head.
For example,
Given
1->2->3->4, you should return the list as
2->1->4->3.
Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* swapPairs(struct ListNode* head) { struct ListNode *preNode, *firstNode, *secondNode; if(head == NULL || head->next == NULL) return head; firstNode = head; secondNode = head->next; head = secondNode; firstNode->next = secondNode->next; head->next = firstNode; preNode = firstNode; while(preNode->next != NULL && preNode->next->next != NULL) { firstNode = preNode->next; secondNode = firstNode->next; preNode->next = secondNode; firstNode->next = secondNode->next; secondNode->next = firstNode; preNode = firstNode; } return head; }
相关文章推荐
- 19 Remove Nth Node From End of List
- 关于nodejs面试
- LeetCode 237 Delete Node in a Linked List
- Remove Nth Node From End of List
- LeetCode: Reverse Nodes in k-Group
- Delete Node in a Linked List
- 237-e-Delete Node in a Linked List
- leetcode | Reverse Nodes in k-Group
- Node.js开发环境配置
- 学习老外用webstorm开发nodejs的技巧--代码提示DefinitelyTyped
- Node 实现 AES 加密,结果输出为“byte”。
- Delete Node in a Linked List
- Remove Nth Node From End of List
- [LeetCode]Delete Node in a Linked List
- leetcode | Swap Nodes in Pairs in a linklist
- ubuntu server 14.10 安装 nodejs
- Delete Node in a Linked List
- Node实践之二
- Windows环境下的nodejs环境开发搭建
- 在hadoop2实际生产环境中,为什么还需要SecondeNamenode