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.
answer:
class Solution {public: ListNode* swapPairs(ListNode* head) { ListNode* first = head; ListNode* second ; if(first == NULL) return head; second = first->next; int temp; while(second != NULL){ temp = first->val; first->val = second->val; second->val = temp; first = (first->next)->next; if(first == NULL) return head; second = first->next; } return head; }};
新闻热点
疑难解答