C++如何实现移除链表倒数第N个节点


这篇文章主要介绍“C++如何实现移除链表倒数第N个节点”,在日常操作中,相信很多人在C++如何实现移除链表倒数第N个节点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++如何实现移除链表倒数第N个节点”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!Given a linked list, remove thenthnode from the end of list and return its head.For example,Given linked list:1->2->3->4->5, andn= 2.

After removing the second node from the end, the linked list becomes1->2->3->5.Note:
Givennwill always be valid.
Try to do this in one pass.这道题让我们移除链表倒数第N个节点,限定n一定是有效的,即n不会大于链表中的元素总数。还有题目要求一次遍历解决问题,那么就得想些比较巧妙的方法了。比如首先要考虑的时,如何找到倒数第N个节点,由于只允许一次遍历,所以不能用一次完整的遍历来统计链表中元素的个数,而是遍历到对应位置就应该移除了。那么就需要用两个指针来帮助解题,pre 和 cur 指针。首先 cur 指针先向前走N步,如果此时 cur 指向空,说明N为链表的长度,则需要移除的为首元素,那么此时返回 head->next 香港云主机 即可,如果 cur 存在,再继续往下走,此时 pre 指针也跟着走,直到 cur 为最后一个元素时停止,此时 pre 指向要移除元素的前一个元素,再修改指针跳过需要移除的元素即可,参见代码如下:方式一:方式二:到此,关于“C++如何实现移除链表倒数第N个节点”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注开发云网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: 怎么用docker修改Nginx文件

今天小编给大家分享一下怎么用docker修改Nginx文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.docker 安装 nginx :d…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/14 15:43
下一篇 07/14 15:43

相关推荐