408数据结构真题2015-41
文章目录AcWing 3756. 筛选链表AC代码AcWing 3756. 筛选链表本题链接:AcWing 3756. 筛选链表注:链接题目仅代表和本题大体相似因为是考研笔试,本题代码以C语言去写AC代码代码解释:遍历链表,如果该节点的值出现过,那么就删除掉该节点,否则把该节点对应的值存入到判重数组st中代码:/*** Definition for singly-linked list.* str
·
文章目录
AcWing 3756. 筛选链表
本题链接:AcWing 3756. 筛选链表
注:链接题目仅代表和本题大体相似
因为是考研笔试,本题代码以C语言去写
AC代码
代码解释:遍历链表,如果该节点的值出现过,那么就删除掉该节点,否则把该节点对应的值存入到判重数组st
中
代码:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*
* Note: The returned array must be malloced, assume caller calls free().
*/
int abs(int a){
return a > 0 ? a : -a;
}
struct ListNode* filterList(struct ListNode* head) {
struct ListNode *p, *q;
int st[10010] = {0};
st[abs(head -> val)] = 1;
for (p = head; p -> next;){
int x = abs(p -> next -> val);
if (st[x]){
q = p -> next;
p -> next = q -> next;
free(q);
}
else{
p = p -> next;
st[x] = 1;
}
}
return head;
}

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)