11 鍊錶區間逆序

2021-09-08 01:09:38 字數 1083 閱讀 6282

11、鍊錶區間逆序

description

將單個鍊錶的每

k個節點之間逆序,列印出新鍊錶;最後不足

k的節點數不需要逆序;要求時間複雜度為

o(n)

,額外空間複雜度為

o(1)。

input

輸入的每一行的值用空格隔開,第乙個表示鍊錶長度,中間為節點值,最後代表k。

output

輸出的每一行為新的鍊錶,節點值用空格隔開,末尾不要空格。

sample input 1 

8 1 2 3 4 5 6 7 8 3

8 a b c d e f g h 4

sample output 1

3 2 1 6 5 4 7 8

d c b a h g f e

import sys

import math

class listni:

def setk(self,arr):

m=len(arr)

for i in range(m):

s=arr[i][0]

d=len(arr[i])

last=int(arr[i][d-1])

time=math.floor(int(s)/last)

del arr[i][0]

del arr[i][d-1-1]

vg = 0

vn = 0

while time>0:

for j in range(vn,int(last/2)):

temp = arr[i][last-j- 1+vg]

arr[i][last - j - 1+vg] = arr[i][j+vg]

arr[i][j+vg] = temp

vg=vg+last

time-=1

print(" ".join(arr[i]))

if'_main_':

cldd=listni()

a=for line in sys.stdin:

te = line.split()

cldd.setk(a)

(鍊錶構建)鍊錶逆序

一直煉表頭結點指標head,將鍊錶逆序。不可申請額外空間 include using namespace std struct listnode int main 實際最終執行的 include using namespace std struct listnode 這個建構函式有點沒看懂,是一種什...

鍊錶 逆序 例子

typedef struct node node node createlink int n return pheaer node reverselink node pher pheader pher pcurrentnode pheader pnext while pcurrentnode pne...

逆序鍊錶輸出

題目描述 將輸入的乙個單向鍊錶,逆序後輸出鍊錶中的值。輸入整數鍊錶 輸出整數鍊錶 樣例輸入1,2 3,4 5樣例輸出5,4 3,2 1 提示 注意鍊錶指標的處理,防止空指標,注意鍊錶長度 輸入部分參考 include func.h include include 請按照要求實現下列函式 請完成如下函...