题目:
删除一个链表的第K个结点,在ACM模式下需要自行创建链表,相对于leetcode来说有所不同,记录一下,整体不难,后续有空再来完善。
示例:
注意事项:
- k = 1时需要删除头节点
- k 大于链表长度时不删除,报错
代码实现:
#include<iostream>
using namespace std;
typedef struct Node
{
int val;
struct Node* next;
}pNode;
int k;
pNode* InputList(void)
{
int n, val;
pNode* pHead = new pNode();
pNode* cur = pHead;
cout << "请输入链表长度n和需要删除的节点位置k(空格隔开)" << endl;
cin >> n >> k;
cout << "请依次输入链表的 "<< n <<" 个结点值(空格隔开)" << endl;
for (int i = 1; i <= n; i++)
{
cin >> val;
if (i == 1)
{
cur->val = val;
cur->next