leetcode : Reverse Linked List II [two pointers]
生活随笔
收集整理的這篇文章主要介紹了
leetcode : Reverse Linked List II [two pointers]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
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.
?
tag: two pointer
?
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/ public class Solution {public ListNode reverseBetween(ListNode head, int m, int n) {if(head == null || head.next == null|| m >= n || m <= 0 || n <= 0 ) {return head;}ListNode dummy = new ListNode(0);dummy.next = head;head = dummy;for(int i = 1; i < m; i++) {if(head == null) {return null;}head = head.next;}ListNode preM = head;ListNode mNode = head.next;ListNode nNode = mNode;ListNode nextN = mNode.next;for(int j = m; j < n; j++) {if(nextN == null) {return null;}ListNode tmp = nextN.next;nextN.next = nNode;nNode = nextN;nextN = tmp;}preM.next = nNode;mNode.next = nextN;return dummy.next;} }
?
轉載于:https://www.cnblogs.com/superzhaochao/p/6583121.html
總結
以上是生活随笔為你收集整理的leetcode : Reverse Linked List II [two pointers]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式软件设计第8次实验报告-14020
- 下一篇: 第1次作业+105032014074