leetcode 14: Swap Nodes in Pairs
来源:互联网 发布:mac os 开机密码 编辑:程序博客网 时间:2024/06/03 21:29
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.
翻译 :给定一个链表,调换每两个相邻节点,并返回其头部。 例如, 给定 1->2->3->4, 你应该返回的链表是 2->1->4->3。 你的算法必须使用唯一不变的空间。 你也不能修改列表中的值,只有节点本身是可以改变的。
/** * * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */
public class S24 { public static void main(String[] args) { ListNode n1 = new ListNode(1); ListNode n2 = new ListNode(2); n1.next = n2; ListNode n3 = new ListNode(3); n2.next = n3; n1.print(); ListNode head = swapPairs(n1); head.print(); } public static ListNode swapPairs(ListNode head) { if(head == null){ return null; } // 当只有一个元素的情况 if(head.next == null){ return head; } ListNode i = head; // i指向第1个 ListNode j = i.next; // j指向第2个 ListNode k = j.next; // k指向第3个 head = head.next; while(j != null){ j.next = i; if(k!=null && k.next!=null){ // 当有偶数个节点 i.next = k.next; }else{ // 当有奇数个节点 i.next = k; } // 更新i,j,k的值,前进两格 i = k; if(k != null){ j = k.next; }else{ j = null; } if(k!=null && k.next!=null){ k = k.next.next; }else{ k = null; } } return head; } }
0 0
- leetcode 14: Swap Nodes in Pairs
- leetcode 14: Swap Nodes in Pairs
- LeetCode:Swap Nodes in Pairs
- LeetCode: Swap Nodes in Pairs
- [Leetcode] Swap Nodes in Pairs
- LeetCode : Swap Nodes in Pairs
- [LeetCode] Swap Nodes in Pairs
- Leetcode: Swap nodes in pairs
- [LeetCode]Swap Nodes in Pairs
- [LeetCode]Swap Nodes in Pairs
- LeetCode-Swap Nodes in Pairs
- LeetCode - Swap Nodes in Pairs
- LeetCode | Swap Nodes in Pairs
- 【leetcode】Swap Nodes in Pairs
- Leetcode: Swap Nodes in Pairs
- LeetCode - Swap Nodes in Pairs
- 【LeetCode】Swap Nodes in Pairs
- Leetcode: Swap Nodes in Pairs
- 日语学习之沪江N3基础 20150622 -4
- 内部类访问的外部变量需要使用final修饰解释原因
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十五课:Cocos2D-X事件处理1-7
- Struts的中文filter
- YTUOJ-在数组中查找数字【数组】
- leetcode 14: Swap Nodes in Pairs
- Java序列化Serializable初识(2)——与SignedObject结合使用
- Qt一个错误的解决方法
- 51nod 1165 整边直角三角形的数量
- test
- 初探android的Camera和Matrix
- GSON 学习
- 求助管理员,这是什么情况
- Cortex-A8嵌入式开发板平台搭建