leetcode習題集 92 反轉鍊錶 II

2021-09-24 05:26:53 字數 692 閱讀 3307

反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。

說明:1 ≤ m ≤ n ≤ 鍊錶長度。

示例:輸入: 1->2->3->4->5->null, m = 2, n = 4

輸出: 1->4->3->2->5->null

public

class

p92int index =1;

listnode p = head;

if(m==1)

last.next = p;

return first;

}else

listnode s1 = p;

p = p.next;

index++

; listnode last = p;

listnode first = null;

listnode rpre = null;

while

(p!=null&&index-

1!=n)

s1.next = first;

last.next = p;

return head;}}

}

思路:

判斷m=1是否成立,如果成立,最後返回的頭結點不是head,而是中間的某個節點

找到鍊錶中m到n的節點,通過設定前驅節點的方式將m到n出的鍊錶反轉過來

Leetcode習題集 鍊錶

這裡記錄一些我刷題的思路方便之後進行複習重溫,同時也方便進行新增 p141 環形鍊錶 class solution listnode reverse listnode head return pre 使用翻轉鍊錶,判斷返回的指標與傳進的指標是否相同,時間複雜度是o n 可能 空間複雜度是o 1 cl...

leetcode習題集 54 螺旋矩陣

給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11...

leetcode習題集 56 合併區間

給出乙個區間的集合,請合併所有重疊的區間。示例 1 輸入 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 示例 2 輸入 1,4 4,5 輸出 1,5 解釋 區間 1,4 和 4,5 可被視為重疊區間。public...