leetCode 24. Swap Nodes in Pairs (双数交换节点) 解题思路和方法
2016-02-04 15:32
686 查看
Swap Nodes in Pairs
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.
思路:题目比較简单,会链表反转的都能够做,思路也差点儿相同。不多说。上代码。
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.
思路:题目比較简单,会链表反转的都能够做,思路也差点儿相同。不多说。上代码。
/** * 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 firstHead = new ListNode(0); firstHead.next = head; ListNode pre = firstHead;//定义一个头结点,这样全部的操作都同样 ListNode next = null; while(head != null && head.next != null){ //A-B-C-D交换BC,pre=A;B=head;C=next next = head.next;//保存交换的变量C head.next = next.next;//将B指向B的指针指向D pre.next = next;//将A指向B的指针指向C next.next = head;//将C指向D的指针指向B,完毕交换,顺序变为A-C-B-D //为下一循环准备变量 pre = head;//将pre变为B head = head.next;//将head指向D } return firstHead.next; } }
相关文章推荐
- 利用AccessibilityNodeInfo完成Editview自动输入功能
- nodejs
- node中url的使用
- 你一定会收藏的Nodejs代码片段
- Nodejs中session的简单使用及通过session实现身份验证的方法
- Node.js重新刷新session过期时间的方法
- nodejs 更新本地 node_modules
- Node.js重新刷新session过期时间的方法
- Nodejs中session的简单使用及通过session实现身份验证的方法
- 你一定会收藏的Nodejs代码片段
- Node.js刷新session过期时间
- 116. Populating Next Right Pointers in Each Node && 117. II
- hdu4587 TWO NODES(无向图割点)
- ENode框架单台机器在处理Command时的设计思路
- ztree中依据后台中传过来的node的id,将这个node的复选框置为不可用
- nodejs使用multiparty模块实现文件上传(另附express.bodyParser()的说明)
- NodeJS折腾记--------------------------------------- Mac OSX 1. 删除/usr/local/lib中的所有node和node_modules 2
- nodejs SSL Error: CERT_UNTRUSTED while using npm command 错误
- (17)ClippingNode的使用
- Nodejs 多文件夹文件同步