leetcode:92. Reverse Linked List II(Java)解答
2015-12-26 16:14
495 查看
转载请注明出处:z_zhaojun的博客
原文地址:/article/3591019.html
题目地址:https://leetcode.com/problems/reverse-linked-list-ii/
解法(Java):
原文地址:/article/3591019.html
题目地址:https://leetcode.com/problems/reverse-linked-list-ii/
Reverse Linked List II
[code]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->NULL, m = 2 and n = 4, return 1->4->3->2->5->NULL. Note: Given m, n satisfy the following condition: 1 ≤ m ≤ n ≤ length of list.
解法(Java):
[code]/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode reverseList(ListNode head) { ListNode listNode = null; while (head != null) { ListNode node = new ListNode(head.val); if (listNode != null) { node.next = listNode; } listNode = node; head = head.next; } return listNode; } public ListNode reverseBetween(ListNode head, int m, int n) { ListNode lNode; ListNode mNode; ListNode rNode; lNode = head; boolean hasL = true; if (m == 1) { hasL = false; } n -= m; while (--m > 1) { head = head.next; } if (hasL) { mNode = head.next; } else { mNode = head; } if (mNode == null) { return lNode; } ListNode temp; temp = mNode; while (n-- > 0) { temp = temp.next; } rNode = temp.next; temp.next = null; mNode = reverseList(mNode); if (hasL) { head.next = mNode; } else { head = mNode; } while (mNode.next != null) { mNode = mNode.next; } mNode.next = rNode; if (hasL) { return lNode; } return head; } }
相关文章推荐
- spring注解方式自动注入接口的实现子类
- 初识Spring
- spring配置durid连接池
- javaWeb开发中entityBean的习惯用法
- Java实体类的作用
- Spring idref标签和ref的区别
- Java中的自动拆箱装箱(Autoboxing&Unboxing)
- java多线程下载实例详解
- StandardServer.await: create[8005]java.net.BindException: Address already in use: JVM_Bind
- Java集合操作
- Kafka和Spark Streaming Java版本集成并将数据实时写入HBase及代码
- Java 多线程(2)-Executor
- java文件上传和下载 如何获取文件名称
- 关于Eclipse中main(String[] args)中参数配置的问题
- 《Java Web程序开发入门》知识总结(二)
- [置顶]关于java中根据身份证求生日和年龄的问题
- [置顶]java开发之基础篇2
- JAVA语言概述
- Eclipse 常用快捷键 (动画讲解)(转载)
- eclipse安装svn插件,在输入url后,一直卡在in progress界面不懂。