数据结构期末考试题目---笔记(SYSU)
2018-01-17 23:09
176 查看
也不知道为什么考试的时候好像脑子抽了一样,这么简单的一个题目居然慌了神没有写
结果 90分变成了80分???
我的国奖梦啊!!!
当然这也说明我对于指针没有想象中的那么熟悉,导致了我在慌乱的情况下就没有了那么高的水准,这点要检讨。
希望以后看这个博客的其他同学们也要引以为戒。
题目意思:
将一个链表的连续的重复数字给删掉变成一个
就是 1 -> 2 -> 2 -> 3 -> NULL
变成 1 -> 2 -> 3 -> NULL
结果 90分变成了80分???
我的国奖梦啊!!!
当然这也说明我对于指针没有想象中的那么熟悉,导致了我在慌乱的情况下就没有了那么高的水准,这点要检讨。
希望以后看这个博客的其他同学们也要引以为戒。
题目意思:
将一个链表的连续的重复数字给删掉变成一个
就是 1 -> 2 -> 2 -> 3 -> NULL
变成 1 -> 2 -> 3 -> NULL
#include <iostream> using namespace std; struct Node{ int val; Node* next; Node(int v = 0){ val = v; next = NULL; } }; void PRINT(Node* head) { Node *cur = head; while (cur != NULL) { cout << cur->val<<" --> "; cur = cur->next; } cout << "NULL\n"; } Node* DELETESAME( Node* head ) { int last = 0; Node *cur = head, *pre, *s; while (cur != NULL) { if (cur == head || cur->val != last) { last = cur -> val; pre = cur; cur = cur->next; } else { // delete cur; last 不更新 pre 也不更新 s = cur; pre -> next = cur->next; cur = cur -> next; delete s; s = NULL; } } return head; } int main(){ Node *head = new Node; head->val = 1; Node *cur = head; for (int i = 2; i < 5; ++i) { for (int j = 1; j <= 3; ++j) { cur->next = new Node(i); cur = cur->next; } } PRINT(head); head = DELETESAME(head); PRINT(head); }
相关文章推荐
- 左程云著算法与数据结构题目最优解笔记-反转单双链表
- 左程云著算法与数据结构题目最优解笔记-删除无序链表中重复的元素
- 左程云著算法与数据结构题目最优解笔记-位运算
- 左程云著算法与数据结构题目最优解笔记-链表
- 数据结构学习笔记 --- 线性表 (双向链表、循环链表)
- 数据结构学习笔记 --- 图(邻接表)
- 大家都说是水题。。好吧,那我就从水题开始做。。自己独立的做。正好最近在辅导大二的数据结构,自己也加强下对栈的理解和应用。 第一次那么完全的独立完成OJ的题,激动呐!读题目理解就废了我好多的时间,虽说英语过了
- Pandas学习笔记一(Pandas数据结构)
- python数据结构学习笔记-2016-11-05-02-优先级队列
- 【学习笔记】Bit-map数据结构
- 陈越、何钦铭《数据结构》第二讲线性结构 笔记
- 【Java数据结构学习笔记之三】Java数据结构与算法之队列(Queue)实现
- 关于中南大学数据结构/C++课设题目的一点思考(一·简单题)
- 学习 严蔚敏讲数据结构笔记14
- python算法和数据结构笔记--python下堆栈的实现及其应用
- 【perl】学习笔记(八)--复杂数据结构
- 【学习笔记----数据结构27-排序】
- LeetCode---题目难度、出题频率、数据结构、考察点统计
- 数据结构学习笔记——优先级队列
- 一道闭包题目的做题笔记