博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在PPT动画中学算法之Delete Node in a Linked List
阅读量:6448 次
发布时间:2019-06-23

本文共 530 字,大约阅读时间需要 1 分钟。

LeetCode上第237号问题:

题目

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。

现有一个链表 -- head = [4,5,1,9],它可以表示为:

4 -> 5 -> 1 -> 9
示例 1:

输入: head = [4,5,1,9], node = 5

输出: [4,1,9]
解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.

示例 2:

输入: head = [4,5,1,9], node = 1

输出: [4,5,9]
解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4 -> 5 -> 9.

说明:
  • 链表至少包含两个节点。
  • 链表中所有节点的值都是唯一的。
  • 给定的节点为非末尾节点并且一定是链表中的一个有效节点。
  • 不要从你的函数中返回任何结果。

解题思路

此题注意的点是没有给我们链表的起点,只给我们了一个要删的节点,与以往处理的情况稍许不同。

这道题的处理方法是先把当前节点的值用下一个节点的值覆盖,然后我们删除下一个节点即可

动画演示

动画演示GIF有点大,请稍微等待一下加载显示^_^

参考代码

转载地址:http://vhlwo.baihongyu.com/

你可能感兴趣的文章
CentOS 6.4 关闭 selinux
查看>>
Android数据存储方式
查看>>
使用 Fonty Python 管理你的字体
查看>>
VMware Workstation 14 Pro黑屏
查看>>
《Effective Java》2nd 笔记
查看>>
The connection to adb is down, and a severe error has occured.
查看>>
什么是重构,什么不是重构
查看>>
我的友情链接
查看>>
Python中用matplotlib.pyplot画图总结
查看>>
图解css3:核心技术与案例实战
查看>>
NLB+DFS实现高可靠性WEB服务器
查看>>
Java8中Lambda表达式的10个例子
查看>>
sublime text 2 实现java编辑器环境
查看>>
Redis Cluster在线迁移
查看>>
EXCHANGE 2013 接收连接器
查看>>
inotify+rsync
查看>>
我的友情链接
查看>>
linux中生成考核用的GPT分区表结构修复案例
查看>>
利用Zabbix API 获取各个分组下的服务器列表以及详细信息
查看>>
Java面试题整理版
查看>>