leetcode题解-24. Swap Nodes in Pairs
来源:互联网 发布:交换机端口速率配置 编辑:程序博客网 时间:2024/05/09 07:19
题目:
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.
本题相对比较简单,就是交换相邻两个元素的位置,可以使用遍历法和递归法两种方法,递归法使用两个指针记录当前要交换位置的节点,在使用另外一个指针记录他们前面的那个节点。这样就可以很方便的实现节点位置的交换,然后在给三个指针更新值即可。代码入下:
public ListNode swapPairs(ListNode head) { ListNode pHead = new ListNode(0); pHead.next = head; ListNode cur = pHead, next; while(head != null && head.next != null){ next = head.next; head.next = next.next; cur.next = next; next.next = head;cur = head; head = head.next; } return pHead.next; }
递归法就更简单了,只需要实现交换两个节点位置的功能即可,代码如下所示:
public ListNode swapPairs1(ListNode head) { if ((head == null)||(head.next == null)) return head; ListNode n = head.next; head.next = swapPairs1(head.next.next); n.next = head; return n; }
阅读全文
0 0
- 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题解:Swap Nodes in Pairs
- leetcode 题解 || Swap Nodes in Pairs 问题
- LeetCode 题解(178): Swap Nodes in Pairs
- LeetCode题解:Swap Nodes in Pairs
- [LeetCode]Swap Nodes in Pairs题解
- 24. Swap Nodes in Pairs 题解
- 24. Swap Nodes in Pairs题解
- [LeetCode]24.Swap Nodes in Pairs
- 24. Swap Nodes in Pairs Leetcode 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
- ArcGIS Engine 9.2 打开多波段栅格数据
- 败犬#1
- Connections in Galaxy War ZOJ
- IDEA Usage of API documented as @since 1.6+ 语法错误解决方案
- 感谢国内知名 Android 开发者 「stormzhang」推荐了我的公众号
- leetcode题解-24. Swap Nodes in Pairs
- 不用加减乘除做加法
- vb.net 教程 4-8 文本文件读写 5
- 运算符重载实现数组自加、自减
- 干货: 如何安装这 4 个能提升你学习和工作效率的 vim 插件?(最简单的一篇)
- 前端基本知识题目
- 技术干货:Linux Shell 编程基础,看这一篇就够了!
- mysql
- 从HTTP到HTTPS协议系统升级总结