Leetcode每日一題 61 旋轉列表

2022-09-14 18:03:18 字數 973 閱讀 4673

給你乙個鍊錶的頭節點 head ,旋轉鍊錶,將鍊錶每個節點向右移動 k 個位置。

示例 1:

輸入:head = [1,2,3,4,5], k = 2  

輸出:[4,5,1,2,3]

示例 2:

輸入:head = [0,1,2], k = 4  

輸出:[2,0,1]

鍊錶中節點的數目在範圍 [0, 500] 內

-100 <= node.val <= 100

0 <= k <= 2 * 10^9

對於這題我們可以直接先將鍊錶連成環,然後斷開旋轉後的頭尾結點就行了。

比如 1->2->3->4->5 我們將 5連上1 ,然後再將3,4斷開,這樣我們就得到了乙個旋轉後的鍊錶。

**如下:

/**

* definition for singly-linked list.

* struct listnode

* };

*/class solution

k=k%len;

if(k==0)return head;//如果不移動 直接返回表頭

listnode * q = head;

for(int i = 0 ; i < len - k - 1 ; i++)

p->next = head;

listnode * newhead = q->next;

q->next = null;

return newhead;}};

LeetCode每日一題 61 旋轉鍊錶

題目描述 給乙個鍊錶的頭結點head,旋轉鍊錶,將鍊錶每個節點向右移動k個位置 示例1 輸入 1 2 3 4 5 null,k 2 輸出 4 5 1 2 3 null 示例2 輸入 1 2 3 null,k 5 輸出 2 3 1 null 解題思路 由於是右移,給的又是頭節點,所以得找出旋轉後的新鍊...

每日一題 LeetCode

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

LeetCode每日一題(題1028)

最近在刷leetcode每日一題,每次做完之後總能有些收穫,所以想著不如每天寫個部落格記錄一下做的題目的解法以及自己寫的時候問題出在 從先序遍歷還原二叉樹 題目大意 給出乙個字串 1 2 3 4 5 6 7 1代表節點的值,前面的 個數代表節點的深度。如果只有乙個子節點,保證這個節點為左子節點。返回...