码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode 92. Reverse Linked List II

时间:2018-02-04 20:59:53      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:info   next   color   efi   分享   script   tps   思路   ever   

技术分享图片

思路:添加头节点,反转链表某个连续部分,206. Reverse Linked List是本题的特殊情况,也可以像本题一样做,具体见Leetcode 206. Reverse Linked List

 1 /**
 2  * Definition for singly-linked list.
 3  * public class ListNode {
 4  *     int val;
 5  *     ListNode next;
 6  *     ListNode(int x) { val = x; }
 7  * }
 8  */
 9 class Solution {
10     public ListNode reverseBetween(ListNode head, int m, int n) {
11         if(head == null) return head;
12         ListNode dummy = new ListNode(0);
13         dummy.next = head;
14         ListNode pre = dummy;
15         for(int i = 0; i < m - 1; i++) pre = pre.next;//移动m-1次
16         ListNode start = pre.next;
17         ListNode then = start.next;
18         for(int i = 0; i < n - m; i++) {//需要将start后面的n-m个点陆续反转
19             start.next = then.next;//start的后面指向then的后面
20             then.next = pre.next;//then的后面指向pre的后面,相当于将then插入pre和pre.next之间
21             pre.next = then;//pre的后面是then
22             then = start.next;//完成一个元素的反转后,then指向下一个准备被反转(插入pre和pre.next之间)的节点
23         }
24         return dummy.next;
25     }
26 }

 

Next challenges: Swap Nodes in Pairs Remove Duplicates from Sorted List II Delete Node in a Linked List

Leetcode 92. Reverse Linked List II

标签:info   next   color   efi   分享   script   tps   思路   ever   

原文地址:https://www.cnblogs.com/Deribs4/p/8414109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!