2 13鍊錶每k個節點之間逆序

2021-10-03 08:40:11 字數 1881 閱讀 1465

鍊錶每k個節點之間逆序,最後不足k個的節點不用逆序。

}//將單鏈表每k個節點逆序

public

static

void

fun(node head,

int k)

if(s.

size()

==k)}}

//如果棧中還有元素,不需要逆置 所以基於last節點進行頭插

while

(!s.

empty()

)}//建立乙個無環單鏈表

public

static node create1

(int

arr)

return head;}}

class

node

}

上乙個節點 0

首節點 1

尾節點 4

下乙個節點 5

上乙個節點 1(逆序後1變成第一組最後乙個節點)

首節點 5

尾節點 8

下乙個節點 9

上乙個節點 5

首節點 9

尾節點 12

下乙個節點 13

public

class

test

; node head =

create1

(arr)

;fun

(head,4)

;for

(node p=head.next;p!=null;p=p.next)

}//將單鏈表每k個節點逆序 ;

public

static

void

fun(node head,

int k)

node p = head.next;

node left = head;

//指向當前組的上乙個節點

node start = head.next;

//指向當前組的開始節點

node end = null;

//指向當前組的尾節點

node right = null;

//指向最後一組的下乙個節點

int count =1;

while

(p!=null)

p=temp;

count++;}

}//傳入當前組上乙個節點,當前組首尾節點 進行逆序操作

public

static

void

reverse

(node left,node start,node end,node right)

start.next = right;

//將逆序後當前組最後乙個節點指向下一組第乙個節點 這條語句用於連線原鍊錶最後不足k個的節點

}//建立乙個單鏈表

public

static node create1

(int

arr)

return head;}}

class

node

}

將單鏈表的每k個節點之間逆序

題目 給定乙個單鏈表的頭結點head,實現乙個調整單鏈表的函式,使得每k個節點之間逆序,如果最後不管k個節點一組,則不調整最後幾個節點。example 鍊錶 1 2 3 4 5 6 7 8 nullptr,k 3 調整後 3 2 1 6 5 4 7 8 nullptr 1 include inclu...

將單鏈表的每K個節點之間逆序

將單鏈表的每k個節點之間逆序 給定乙個單鏈表,實現乙個調整單鏈表的函式,使得每 k 個節點之間的值逆序,如果最後不夠 k 個節點一組,則不調整最後幾個節點。輸入描述 第一行乙個整數 n,n 表示單鏈表的節點數量。第二行 n 個整數 val 表示鍊錶的各個節點的值。第三行乙個整數 k。輸出描述 在給定...

鍊錶中的節點每k個一組翻轉

題目描述 將給出的鍊錶中的節點每 k 個一組翻轉,返回翻轉後的鍊錶 如果鍊錶中的節點數不是 k 的倍數,將最後剩下的節點保持原樣 你不能更改節點中的值,只能更改節點本身。要求空間複雜度 o 1 例如 給定的鍊錶是1 2 3 4 5 對於 k 2 你應該返回 2 1 4 3 5 對於 k 3,你應該返...