[leetcode]24. Swap Nodes in Pairs
来源:互联网 发布:js随机动态显示 编辑:程序博客网 时间:2024/05/22 11:56
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.
这道题我感觉最重要的点是在链表头再加一个临时结点,这样就不用去判断那些特殊情况了。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}
0 0
- [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
- **LeetCode 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs LeetCode
- 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
- [leetcode] 24. Swap Nodes in Pairs
- LeetCode 24. Swap Nodes in Pairs
- LeetCode-24.Swap Nodes in Pairs
- LeetCode 24. Swap Nodes in Pairs
- opengles特效之飘扬的旗帜
- 使用JS跳转时如何控制Target属性
- 百度云搭建服务器-----外网不能访问服务器
- 第九周OJ项目-大奖赛计分
- String 、StringBuilder、StringBuffer的区别 hr
- [leetcode]24. Swap Nodes in Pairs
- 【详解KMP算法 next数组详解】
- struts.xml文件中package元素的各大属性讲解
- Android加载大图片,实现简单的截屏功能与保存截屏显示在图库
- sersync服务
- iTunes connect后台显示app已经上架(可供销售),但在appstore搜不到的解决办法。
- 选择排序
- 从毕业生到高级工程师:三位腾讯高级程序员的感悟
- 树莓派的镜像源