【LeetCode】24. Swap Nodes in Pairs
2017-04-19 22:26
337 查看
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.
题目大意为给定一个链表,两两一组,交换链表中的节点。这道题比较好理解,也比较简单。要注意的就是交换链表中的节点和交换值不同,要注意指针指向 ,分别定义表示要交换两节点的前一个节点和下一个节点,避免节点丢失,并且增加头结点便于操作.
代码如下:
public ListNode swapPairs(ListNode head) {
//定义一个头结点
ListNode head_prev=new ListNode(0);
head_prev.next=head;
//定义一个节点始终指向要交换节点的前一个节点
ListNode node_prev=head_prev;
while(head!=null&&head.next!=null){
//定义一个节点用于保存要交换节点的下一个节点,避免丢失
ListNode node_next=head.next.next;
//交换节点
node_prev.next=head.next;
head.next.next=head;
head.next=node_next;
//交换完毕,向后移动两位
node_prev=node_prev.next.next;
head=node_next;
}
return head_prev.next;
}
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.
题目大意为给定一个链表,两两一组,交换链表中的节点。这道题比较好理解,也比较简单。要注意的就是交换链表中的节点和交换值不同,要注意指针指向 ,分别定义表示要交换两节点的前一个节点和下一个节点,避免节点丢失,并且增加头结点便于操作.
代码如下:
public ListNode swapPairs(ListNode head) {
//定义一个头结点
ListNode head_prev=new ListNode(0);
head_prev.next=head;
//定义一个节点始终指向要交换节点的前一个节点
ListNode node_prev=head_prev;
while(head!=null&&head.next!=null){
//定义一个节点用于保存要交换节点的下一个节点,避免丢失
ListNode node_next=head.next.next;
//交换节点
node_prev.next=head.next;
head.next.next=head;
head.next=node_next;
//交换完毕,向后移动两位
node_prev=node_prev.next.next;
head=node_next;
}
return head_prev.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