鍊錶每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,你應該返...