每日一題 LeetCodez之旋轉鍊錶

2021-10-05 03:18:03 字數 833 閱讀 7799

給定乙個鍊錶,旋轉鍊錶,將鍊錶每個節點向右移動 k 個位置,其中 k 是非負數。

示例 1:

輸入: 1->2->3->4->5->null, k = 2

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

解釋:向右旋轉 1 步: 5->1->2->3->4->null

向右旋轉 2 步: 4->5->1->2->3->null

示例 2:

輸入: 0->1->2->null, k = 4

輸出: 2->0->1->null

解釋:向右旋轉 1 步: 2->0->1->null

向右旋轉 2 步: 1->2->0->null

向右旋轉 3 步: 0->1->2->null

向右旋轉 4 步: 2->0->1->null

思路: 右移k個節點相當於使倒數第k個節點作為頭節點,使原來的頭節點連線到該節點尾部。

若k>鍊錶長度,對鍊錶長度取餘。使用快慢指標找到倒數第k個節點

public listnode rotateright

(listnode head,

int k)

pre.next=head;

int num=k%cout;

listnode slow=head;

listnode fast=head;

while

(num--

>0)

fast=fast.next;

while

(fast!=head)

pre.next=null;

return slow;

}

Python每日一題之0001 0002

第 0002 題 將 0001 題生成的 200 個啟用碼 或者優惠券 儲存到 mysql 關係型資料庫中。如下 import random import string import mysql.connector import time def rndchar return join random...

每日一題 1

題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...

每日一題2018 3 21

leetcode 2 模擬十進位制運算考察單鏈表基本操作。題無難點,個人基礎需要提高。definition for singly linked list.struct listnode class solution while p while q if shi val s next null ret...