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