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

2021-08-28 03:55:32 字數 1038 閱讀 2372

題目:

給定乙個單鏈表的頭結點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 

#include

#include

using

namespace

std;

struct listnode

};listnode* resign(stack

&s, listnode* left, listnode* right)

cur->next = right;

return cur;

}listnode* reverseknode(listnode *head, int k)

cur = next;

}return newhead->next;

}int main()

return

0;}

**2:

struct listnode

};void resign(listnode* left, listnode* start, listnode* end, listnode* right)

left->next = end;

start->next = right;

}listnode* reverseknode(listnode* head, int k)

++count;

cur = next;

}return newhead->next;

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

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

將單鏈表的每K個結點逆序

簡單做法,直接使用棧儲存那k個結點,然後將這k個結點逆序後連線到鍊錶上去,只需要注意頭節點即可。高階解法直接對鍊錶進行處理,每一次記錄當前逆序分組的第乙個結點和最後乙個結點,也需要考慮頭節點 解法 使用棧 直接對鍊錶進行迭代 普通 public static node reverseknode1 n...

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

鍊錶每k個節點之間逆序,最後不足k個的節點不用逆序。將單鏈表每k個節點逆序 public static void fun node head,int k if s.size k 如果棧中還有元素,不需要逆置 所以基於last節點進行頭插 while s.empty 建立乙個無環單鏈表 public ...