链表的重复删除/反转
来源:互联网 发布:客户数据库管理软件 编辑:程序博客网 时间:2024/06/06 17:09
remove dupliates from sorted list
#include <iostream>#include <windows.h>using namespace std;struct Node{int data;struct Node *next;Node (int x) : data(x), next(nullptr) { }};Node* pra(Node* head){//重复删除if (head == NULL) return head;/*for (Node*pre = head, *cur = head->next; cur; cur =pre->next){if (cur->data == pre->data){pre->next = cur->next;delete cur;}elsepre = cur;}*/Node*pre = head, *cur = head->next;while (cur != NULL){if (cur->data == pre->data){pre->next = cur->next;delete cur;}else{ pre = cur;}cur = pre->next;}return head;}int main(){Node* tail = new Node(-1);Node* ptr = tail;int m;int c; cin >> m;while (m){m--;cin >> c;ptr->next = new Node(c);ptr = ptr ->next;}int x;Node* eail = pra(tail->next);while (eail != NULL){cout << eail->data << endl;eail = eail->next;}return 0;}
#include <iostream> #include <windows.h> using namespace std;struct Node{int data;struct Node *next;Node(int x) : data(x), next(nullptr) { }};Node *pra(Node *head){//链表的反转if (head == NULL)return NULL;Node* p = head;Node* newl=NULL;while (p){Node *tmp = p->next;p->next = newl;newl = p;p = tmp;}return newl;}int main(){Node* tail = new Node(-1);Node* ptr = tail;int m;int c;cin >> m;while (m){m--;cin >> c;ptr->next = new Node(c);ptr = ptr->next;}int x;Node* eail = pra(tail->next);while (eail != NULL){cout << eail->data << endl;eail = eail->next;}return 0;}
阅读全文
0 0
- 链表的重复删除/反转
- 链表的删除 合并 排序 反转
- 删除重复链表
- 链表的创建,插入,删除,显示,反转
- 链表的基本操作,创建、删除、插入、反转
- Leetcode 删除重复的链表元素
- 删除链表中的重复的元素
- 删除排序链表的重复节点
- 删除链表中的重复的结点
- 删除链表的重复数据
- 删除链表的重复结点
- 有序链表的重复元素删除
- 链表所有重复元素的删除
- 删除表重复的列
- 删除表的重复记录
- python的【列表list】:定义、索引、添加、删除、遍历、长度;组合、重复、反转、切片、比较;排序
- 链表插入,删除,排序,反转
- 链表删除重复元素
- 44STL之遍历算法
- 使用C#把发表的时间改为几个月,几天前,几小时前,几分钟前,或几秒前
- Java Web理解基本的MVC框架(3分钟理解)
- code[vs] 1203 判断浮点数是否相等
- 安卓shape渐变色的种类及处理方法
- 链表的重复删除/反转
- ThreadLocal类
- 【stm32f407】I2C实验
- 腾讯-微信红包 腾讯-生成格雷码
- MFC中ShellManager的使用
- 51nod1565 模糊搜索
- wampserve配置台式电脑,手机端访问pc端文件
- 关于关键词抽取的一些思考
- leetcode 4Sum(Java)