团体程序设计天梯赛-练习集 - L2-002 链表去重(25 分)

题目链接:点击打开链接

 

题目大意:

 

解题思路:

1、经过上次的“反转链表”的教训,千万记住别修复它们的 Next 地址,没必要的。只要抓住这一点,题目就简单了。
2、题目这句话:“只有键值或其绝对值等于K”意思表达不完全,其实是这个意思:“只有键值或其绝对值等于【绝对值的K】”。
3、删除重复链表的数据要注意可能都没重复的情况,所以第二组数据要不要输出需要判断下是否有重复的数据。

 

AC 代码

#include
#include

#define mem(a,b) memset(a,b,sizeof a);
#define INF 0x3f3f3f3f

using namespace std;

typedef long long ll;

const int maxn=1e5+10;

int da[maxn], nx[maxn], vis[maxn], rs1[maxn], rs2[maxn];

int main()
{
    int s,n,t;
    while(~scanf("%d%d",&s,&n))
    {
        mem(vis,0);
        for(int i=0;i

 

你可能感兴趣的:(#,ACM,#,PTA,#,技巧题集,#,模拟题集)