careercup-链表 2.1
2.1 编写代码,移除未排序链表中的重复节点。
不使用临时缓存:
如果不允许使用临时的缓存(即不能使用额外的存储空间),那需要两个指针, 当第一个指针指向某个元素时,第二个指针把该元素后面与它相同的元素删除, 时间复杂度O(n2 )。
C++实现代码:
#include<iostream> #include<new> using namespace std;struct ListNode {int val;ListNode *next;ListNode(int x):val(x),next(NULL) {} };void createList(ListNode *&L) {int arr[10]= {1,2,3,2,5,6,7,3,9,1};int i;ListNode *p=NULL;for(i=0; i<10; i++){ListNode *tmp=new ListNode(arr[i]);if(L==NULL){L=tmp;p=tmp;}else{p->next=tmp;p=tmp;}} }void deleteDup(ListNode *L) {if(L==NULL)return;ListNode *p=L;ListNode *q=NULL;while(p){q=p;while(q->next){if(q->next->val==p->val)q->next=q->next->next;elseq=q->next;}p=p->next;} }int main() {ListNode *head=NULL;createList(head);ListNode *p=head;while(p){cout<<p->val<<" ";p=p->next;}cout<<endl;deleteDup(head);p=head;while(p){cout<<p->val<<" ";p=p->next;}cout<<endl; }
运行结果:
转载于:https://www.cnblogs.com/wuchanming/p/4141163.html
careercup-链表 2.1相关推荐
- [CareerCup] 2.4 Partition List 划分链表
2.4 Write code to partition a linked list around a value x, such that all nodes less than x come bef ...
- [CareerCup] 4.4 Create List at Each Depth of Binary Tree 二叉树的各层创建链表
4.4 Given a binary tree, design an algorithm which creates a linked list of all the nodes at each de ...
- M1: 复制带随机指针的链表
一个链表问题:复制带随机指针的链表 题目:有一个链表L,其每个节点有2个指针,一个指针next指向链表的下个节点,另一个random随机指向链表中的任一个节点,可能是自己或者为空,写一个程序,要求复制 ...
- 【CareerCup】 Linked Lists—Q2.5
转载请注明出处:http://blog.csdn.net/ns_code/article/details/22097191 题目: Given a circular linked list, ...
- 伍六七带你学算法 入门篇-链表的中间节点
力扣-876链表的中间节点 难度-简单 给定一个带有头结点 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[1,2,3,4,5] 输出:此 ...
- Go 学习笔记(80)— Go 标准库 container/list(单链表、双链表)
列表是一种非连续存储的容器,由多个节点组成,节点通过一些变量记录彼此之间的关系.列表有多种实现方法,如单链表.双链表等. 在 Go 语言中,将列表使用 container/list 包来实现,内部 ...
- 数据结构(08)— 线性单链表基本操作
1. 线性单链表数据结构 // 假定每个结点的类型用 SNode 表示 typedef struct SNodeTag {int data; // 所存储的数据元素SNodeTag *next; // ...
- 数据结构(05)— 线性单链表实战
1. 设计思路 本项目的实质是完成对考生信息的建立.查找.插入.修改.删除等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结 ...
- 使用python建立简单的单链表
代码 import sysclass ListNode:def __init__(self, x):self.val = xself.next = None# 将列表转换成链表 def list_to ...
- LeetCode19. Remove Nth Node From End of List 删除链表中的倒数第n个位置的元素
前言 本文是LeetCode19. Remove Nth Node From End of List解法,这个题目需要删除链表中的倒数第n个位置的元素 代码 # -*- coding: utf-8 - ...
最新文章
- php字符串比较函数
- Java中的拆箱与装箱
- python小工具myqr生成动态二维码
- SpringBoot - 构建监控体系03_使用 Admin Server 管理 Spring 应用程序
- 项目管理理论与实践(1)——企业项目管理介绍
- 拍乐云基于AV1的实时视频系统技术实践
- GNU gcc的编译工具用法(转)
- angular学习的一些小笔记(中)之表单验证
- java 前置通知_spring aop中的前置通知
- 【机器学习】监督学习--KNN(最近邻)算法
- linux写永久路由命令,用route命令添加永久路由(示例代码)
- 【计算机网络笔记】因特网概述
- matplotlib画子图subplot
- 游戏开发之C++引用(C++基础)
- Pthreads线程的基本常识
- 编程珠玑第一章-位图压缩存储
- 四川绵阳动感地带学生套餐资费备忘
- 英语发音规则---/ŋ/与/ŋg/的读音区别
- MATLAB 8.1 R2013a license.lic 问题
- html+怎么播放avi视频,视频格式怎么修改?
热门文章
- 计算机专业英语第五版卢川英pdf,《德意志意识形态》中的“现实的个人”及其自由全面发展.pdf...
- php 运行 shell命令行参数,PHP exec()在通过浏览器执行时不会执行shell命令
- Mendeley Desktop 很好用的一个文件管理软件
- 安装完matlab7.0(2009版本问题)但无法运行
- CVPR 2017 《Object Detection in Videos with Tubelet Proposal Networks》论文笔记
- AtCoder AGC035E Develop (DP、图论、计数)
- 电脑技术吧_极简技术|快速整理电脑桌面繁乱的图标
- three.js glb 多个_25万的预算,奔驰GLB、宝马X1、奥迪Q3该怎么选
- [转]常用OCR软件介绍
- 《软件需求模式》阅读笔记01