給你單鏈表的頭節點head
和兩個整數left
和right
,其中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 個部分 左邊區間的逆序對 右邊區間的逆序對 橫跨兩個區間的...