[leetcode]24. Swap Nodes in Pairs
2016-11-01 18:43
471 查看
Given a linked list, swap every two adjacent nodes and return its head.
For example,
Given
Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.
这道题我感觉最重要的点是在链表头再加一个临时结点,这样就不用去判断那些特殊情况了。
Java代码
go代码
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.
这道题我感觉最重要的点是在链表头再加一个临时结点,这样就不用去判断那些特殊情况了。
Java代码
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode swapPairs(ListNode head) { ListNode cur = head; ListNode tmp = null,preHead=new ListNode(0); preHead.next=head; ListNode pre=preHead; ListNode node1=null,node2=null; while((node1=cur)!=null&&(node2=cur.next)!=null){ tmp = node2.next; node2.next=node1; node1.next=tmp; pre.next=node2; pre=node1; cur=tmp; } return preHead.next; } }
go代码
/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func swapPairs(head *ListNode) *ListNode { preHead:=&ListNode{ Val:0, Next:head, } var node1,node2,cur,tmp,pre *ListNode cur=head pre=preHead for (cur!=nil)&&(cur.Next!=nil){ node1=cur node2=cur.Next tmp=node2.Next node2.Next=node1 node1.Next=tmp pre.Next=node2 pre=node1 cur=tmp } return preHead.Next }
相关文章推荐
- leetcode 24 Swap Nodes in Pairs
- LeetCode 24.Swap Nodes in Pairs
- Java [leetcode 24]Swap Nodes in Pairs
- Leetcode_24_Swap Nodes in Pairs
- leetcode 24 -- Swap Nodes in Pairs
- [LeetCode]24 Swap Nodes in Pairs
- LeetCode 24 Swap Nodes in Pairs (C,C++,Java,Python)
- Leetcode 24 Swap Nodes in Pairs
- LeetCode 24:Swap Nodes in Pairs
- leetcode_24_Swap Nodes in Pairs
- leetcode 24 Swap Nodes in Pairs
- [leetcode 24]Swap Nodes in Pairs
- Swap Nodes in Pairs - LeetCode 24
- LeetCode24之SwapNodesInPairs的Java 题解
- [Leetcode 22] 24 Swap Nodes in Pairs
- [Leetcode] 24. Swap Nodes in Pairs
- [leetcode 24] Swap Nodes in Pairs
- LeetCode 24 - Swap Nodes in Pairs
- leetcode-24 Swap Nodes in Pairs
- LeetCode_24---Swap Nodes in Pairs