Leetcode -- Swap Nodes in Pairs

来源:互联网 发布:wps office 有mac版吗? 编辑:程序博客网 时间:2024/04/30 13:45

题目:
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.

分析:
链表,交换两个数的位置。要求,不能修改node的值,只能修改指针的指向。

思路:
交换相邻两个node的指针指向。

代码:

ListNode* swapPairs(ListNode* head) {        ListNode* l = new ListNode(0);        ListNode* l1 = l;        ListNode* head1;        ListNode* h;        l->next = head;        while(head && head -> next)        {            head1 = head->next;            h = head1 -> next;            l->next = head1;            head1 ->next = head;            head -> next = h;            l = head;            head = head -> next;        }        return l1->next;    }
0 0
原创粉丝点击