Reverse Linked List II | Java最短代码实现
来源:互联网 发布:linux nobody 用户 编辑:程序博客网 时间:2024/06/07 00:52
原题链接:92. Reverse Linked List II
【思路】
链表的基本操作,首先申请一个mPre节点,其下一个节点指向head。其次,在第一个while循环中完成:
1.找到m节点mNode(即mPre.next)
2.找到n节点nNode
第二个while循环中完成:
1.从mNode到nNode的反转
当m = 1时,返回nNode,否则返回head:
public ListNode reverseBetween(ListNode head, int m, int n) { ListNode mPre = new ListNode(0); mPre.next = head; ListNode nNode = head; int moveStep = 0; while (++moveStep < n) { if (moveStep < m) mPre = mPre.next; nNode = nNode.next; } ListNode mNode = mPre.next; while (mNode != nNode) { ListNode mNext = mNode.next; mNode.next = nNode.next; nNode.next = mNode; mNode = mNext; } mPre.next = nNode; return m == 1 ? nNode : head; }欢迎优化!
1 0
- Reverse Linked List II | Java最短代码实现
- 206. Reverse Linked List | Java最短代码实现
- Reverse Linked List II Java
- Reverse Linked List II (Java)
- Flatten Binary Tree to Linked List | Java最短代码实现
- Rotate List | Java最短代码实现
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- 关于录像默认旋转90度的问题
- 升级到Xcode7.0 不能联网的问题
- Linux平台上最常用的翻译工具—StarDict(星际译王)。
- Android设计模式系列(8)--SDK源码之工厂方法模式
- iOS动画
- Reverse Linked List II | Java最短代码实现
- rand() 与srand() 函数
- 《加州理工学院公开课:机器学习与数据挖掘》第2讲学习笔记
- Android 编程下获得应用程序的签名
- CommandButtonとactionFunction
- 初涉bootstrap:bootstrap 插件
- 编译kernel perl版本bug
- Java中abstract和interface的区别
- Head First设计模式之装饰者模式(Decorator Pattern)