博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Reverse Linked List II
阅读量:5031 次
发布时间:2019-06-12

本文共 1047 字,大约阅读时间需要 3 分钟。

题目:

Reverse a linked list from position m to n. Do it in-place and in one-pass.

For example:

Given 1->2->3->4->5->NULLm = 2 and n = 4,

return 1->4->3->2->5->NULL.

Note:

Given mn satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.

1     public ListNode reverseBetween(ListNode head, int m, int n) { 2         if(head == null) return null; 3         ListNode dummy = new ListNode(0); 4         dummy.next = head; 5         ListNode pre = dummy; 6         ListNode start = head; 7          8         for (int i = 1; i < m; i++) { 9             start = start.next;10             pre = pre.next;11         }12         ListNode end = start;13         ListNode then = start.next;14         ListNode temp = then;15         for (int j = 0; j < n - m;  j++) {16             temp = then.next;17             then.next = start;18             start = then;19             then = temp;20         }21         pre.next = start;22         end.next = then;23         return dummy.next;24     }

感觉写的挺丑的。。。

转载于:https://www.cnblogs.com/gonuts/p/4418880.html

你可能感兴趣的文章
graphite custom functions
查看>>
列出所有的属性键
查看>>
js获取请求地址后面带的参数
查看>>
[原创]使用java批量修改文件编码(ANSI-->UTF-8)
查看>>
设计模式のCompositePattern(组合模式)----结构模式
查看>>
二进制集合枚举子集
查看>>
磁盘管理
查看>>
SAS学习经验总结分享:篇二—input语句
查看>>
UIImage与UIColor互转
查看>>
RotateAnimation详解
查看>>
系统管理玩玩Windows Azure
查看>>
c#匿名方法
查看>>
如何判断链表是否有环
查看>>
【小程序】缓存
查看>>
ssh无密码登陆屌丝指南
查看>>
MySQL锁之三:MySQL的共享锁与排它锁编码演示
查看>>
docker常用命令详解
查看>>
jQuery技巧大放送
查看>>
字符串转换成JSON的三种方式
查看>>
Hive时间函数笔记
查看>>