給定乙個鍊錶,旋轉鍊錶,將鍊錶每個節點向右移動 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...