代码语言:javascript复制
#include<iostream>
#include<vector>
using namespace std;
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
class Solution {
public:
void deleteNode(ListNode* node)
{
node->val = node->next->val;
node->next = node->next->next;
}
};
//测试-----------------
void input(ListNode* l)
{
int num;
while (1)
{
cin >> num;
if (num == -1)
return;
ListNode* newNode = new ListNode(num);
newNode->next = l->next;
l->next = newNode;
}
}
//头插法----》逆序打印
void display(ListNode* l)
{
if (l== NULL)
{
return;
}
display(l->next);
cout << l->val;
}
void test()
{
ListNode* l = new ListNode(0);
input(l);
Solution s;
s.deleteNode(l->next->next);//输入1 2 3 ,链表中存储3 2 1 ,递归逆序输出:1 2 3 ,删除2
cout << "链表打印:" << endl;
display(l->next);
cout << endl;
}
int main()
{
test();
system("pause");
return 0;
}