反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。
說明:1 ≤ m ≤ n ≤ 鍊錶長度。
示例:
輸入: 1->2->3->4->5->null, m = 2, n = 4輸出: 1->4->3->2->5->null
5ms
/**
* definition for singly-linked list.
* public class listnode
* }*/class solution
m = m-1;
n = n-1;
listlist = new arraylist();
listnode cur = head;
while(cur!=null)
listnode a;
listnode b;
while(m
優化4ms
/*** definition for singly-linked list.
* public class listnode
* }*/class solution
* }*/class solution
listnode dummy = new listnode(0);
dummy.next = head;
listnode prev = dummy;
for (int i = 0; i < m - 1; i++)
listnode start = prev.next;
listnode then = start.next;
for (int i = 0; i < n - m; i++)
return dummy.next;
}}
給定乙個值3,需要對陣列[1,2,3,4,5] 反轉, 需要得到結果 [3,2,1,5,4]
public listnode reversettwo(listnode head,int m,int total){
listnode dummy = new listnode(0);
dummy.next = head;
listnode pre = dummy;
listnode start = pre.next;
listnode then = start.next;
for(int i=0;i
leetcode 92反轉鍊錶
反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4 輸出 1 4 3 2 5 null definition for singly linked list.public class listnode class...
leetcode92 反轉鍊錶 II
反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4輸出 1 4 3 2 5 null思路 先往後遍歷找到需要反轉的節點作為起點 count m 然後按照劍指offer 反轉鍊錶 的思路,設定curr,pre,p...
LeetCode 92 反轉鍊錶ii
反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4 輸出 1 4 3 2 5 null 思路 可以根據反轉的起始點將鍊錶分為三個部分,反轉中間部分,結束後將三個鍊錶連線到一起即可。這裡需要注意的是,中間鍊錶反轉...