今天主要完成了链表的5道算法题,不得不说leedcode和牛客网真是个好东西,点个赞。
1、反转链表,如1->2->3->4->NULL,反过来打印。
思想:
第一种可以利用单链表的头插法来实现,定义一个新节点newnode,依次将1、2、3、4插到newnode,但是插完之后需要将newnode重新赋值到第一个节点。
第二种来利用迭代思想,定义n1,n2,n3分别为NULL,头节点head,头结点的下一位head->next,n2->next=n1;ni=n2;n2=n3;这样可以将链表指针反向指过来。
2、移除单链表中为val的值
思想:定义2个节点,一个为cur,一个为prev,利用pprev->next=cur->next,来删除cur的节点,思想很简单,但是需要注意:当删除的元素为第一个值和指针的移动
3、求链表的中间节点:
思想:利用快慢指针,快指针一次移动2个位置,慢指针一次移动一个位置,这样当快指针为空或者fast->next为空时,慢指针刚好为中间位置。需要注意一下 链表长度为奇数和偶数时,其快指针的空形式不一样。
4、合并2个有序链表
思想:定义2个指针,和一个新的newnode,首先比较一下2个链表的第一个元素谁比较小,把小的做头,剩下的依次比较,把小的依次插到newnode后面,尾插法。
5、输出一个链表的倒数第k个元素
思想:还是可以利用快慢指针的思想,但是选哟注意一点k的值不能大于链表的长度,否则输出NULL。快指针提前移动k个位置,然后快慢指针再一起移动,当快指针到达NULL时,慢指针刚好到达倒数第k个位置,因为快指针比慢指针多走了k个位置。
3-6(链表相关算法)
来源:本站原创 浏览:124次 时间:2022-09-13
- 上一篇: 10 张图!给你整明白单点登录原理与实现!
- 下一篇: 惊呆了,Spring Boot居然这么耗内存!
推荐资讯
- PHP - Manual: event_base_new
- PHP - Manual: magic_quotes_runtime
- PHP - Manual: HaruPage::setLineCap
- PHP - Manual: MysqlndUhConnection::killConnection
- PHP - Manual: dbplus_xunlockrel
- PHP - Manual: gupnp_root_device_start
- PHP - Manual: MysqlndUhConnection::getStatistics
- PHP - Manual: MysqlndUhConnection::connect
- PHP - Manual: Beyond TTL: user-defined storage
- PHP - Manual: CairoStatus
推荐站点
- At-lib分类目录
At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家
www.at-lib.cn - 中国链接目录
中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。
www.cnlink.org - 35目录网
35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。
www.35mulu.com - 就要爱网站目录
就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。
www.912219.com - 伍佰目录
伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。
www.wbwb.net