LeetCode 每日一題92 反轉鍊錶 II

2021-10-22 13:08:35 字數 904 閱讀 8038

給你單鏈表的頭節點head和兩個整數leftright,其中left <= right。請你反轉從位置left到位置right的鍊錶節點,返回 反轉後的鍊錶 。

示例 1:

輸入:head =[1

,2,3

,4,5

], left =

2, right =

4輸出:[1,

4,3,

2,5]

示例 2:

輸入:head =[5

], left =

1, right =

1輸出:[

5]

高階:你可以使用一趟掃瞄完成反轉嗎?

解題思路

參考**

public listnode reversebetween

(listnode head,

int left,

int right)

break;}

pre = curr;

curr = curr.next;

idx++;}

return dummy.next;

}

執行結果

每日一題 92 快速排序

題目來自網路 題目 1 基於陣列的快速排序 題目 2 基於鍊錶的快速排序 題目 1 基於陣列的快速排序 思路 使用分治的思想,先選擇樞軸,之後執行一次劃分,並把原序列劃分兩個子串行,之後遞迴處理。int partition int narr,int nstart,int nend narr nsta...

每日一題力扣92

反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。class solution def reversebetween self,head listnode,m int,n int listnode if m n return head dummy listnode 1 dummy.next h...

每日一題 LeetCode

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。示例 1 輸入 7,5,6,4 輸出 5 限制 0 陣列長度 50000 思想是 分治演算法 所有的 逆序對 於 3 個部分 左邊區間的逆序對 右邊區間的逆序對 橫跨兩個區間的...