链表——成对的反转链表
来源:互联网 发布:淘宝swisse官方旗舰店 编辑:程序博客网 时间:2024/05/16 15:14
题目:swap-nodes-in-pairs 一对一对的反转链表内的结点
For example,
Given1->2->3->4, return 2->1->4->3.
代码如下:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode swapPairs(ListNode head) { if(head == null||head.next == null) return head; ListNode node=head; ListNode helper=new ListNode(0);//创建一个辅助的头结点; helper.next=head;//当2> length of list时,返回原链表; ListNode lastgroup=helper;//记录上一组结点的尾结点; ListNode nextgroup=head;//辅助记录下一组结点的首结点; ListNode first=nextgroup;//记录下一组结点的首结点; int count=1; while(node!=null) { if(count<2) { count++; node=node.next; }else//count == 2; { nextgroup=node.next; lastgroup.next=reverse(first,node); lastgroup=first; first.next=nextgroup; first=nextgroup; node=first; count=1; } } return helper.next; } //字符串反转通用方法; public ListNode reverse(ListNode head,ListNode tail) { ListNode pre=head; ListNode cur=head.next; ListNode ne=null; while(pre!=tail) { ne=cur.next; cur.next=pre; pre=cur; cur=ne; } head.next=null; head=pre; return head; }}
0 0
- 链表——成对的反转链表
- 链表::链表的反转
- 链表——反转链表
- 经典的数据结构——数组反转、链表反转、冒泡排序
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- dubbo、zookeeper,springMVC的整合
- Firebug入门指南
- Elasticsearch源码分析二--调用Lucene查询接口之常用词查询
- android 使用Http的Get方式读取网络数据
- [BZOJ2245][SDOI2011]工作安排(费用流)
- 链表——成对的反转链表
- POJ 3279 Fliptile
- 深入理解浏览器会话机制(session && cookie)
- SDRAM的工作原理
- java学习线路
- xml转换dataset
- git详解
- ios使用rsa加解密
- python中关键词with的使用