Leetcode-Swap Nodes in Pairs

一、题目——Swap Nodes in Pairs

Given a linked list, swap every two adjacent nodes and return its head.

For example,

Given1->2->3->4, you should return the list as2->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.


二、分析

大家好,我又来了。这次还是链表题。根据题目的意思,就是每对节点两两交换。注意是交换节点,而不是交换节点的值。那么交换两个节点时,我们得让第一个节点的前一个节点的next指向第二个节点,第二个节点的下一个节点的next指向第一个节点。然后让第二个节点的next指向第一个节点。临界状态,即第一个节点是头结点。那我们就得相应做些特殊的处理,让第二个节点成为头结点。思路如上,上代码。


三、代码


Leetcode-Swap Nodes in Pairs_第1张图片

你可能感兴趣的:(Leetcode-Swap Nodes in Pairs)