链表10:访问单个节点的删除
来源:互联网 发布:efd软件下载 编辑:程序博客网 时间:2024/05/20 18:45
题目:实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。
给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true。
思路:即给定一个要删除的结点pNode,由于是单向链表,因此只能向下遍历而不能向上遍历,因此只能采取的方法是:对于要删除的结点的后面的结点的值向前进行拷贝传递,即将pNode后面的值赋值给pNode,然后将pNode.next指向pNode.next.next;不需要对后续结点全部向前移动,只要改变这个结点下一个结点的指向即刻。特殊的,如果要删除的结点是尾结点,即pNode.next==null,那么如果直接将pNode③赋值为null,那么其实本质上并不会导致结点③被删除,要将结点③删除必须是的结点②的next指针指向null,而不是直接改变结点③为null。因此对于要删除的结点为尾结点的特殊情况,程序不要求处理,直接返回FALSE即可。
public class Remove { public boolean removeNode(ListNode pNode) { if(pNode==null||pNode.next==null) {//不要写pNode==null; return false; } pNode.val=pNode.next.val; pNode=pNode.next; return true; }}
0 0
- 链表10:访问单个节点的删除
- 访问单个节点的删除
- 访问单个节点的删除
- 访问单个节点的删除
- 访问单个节点的删除
- 访问单个节点的删除
- 访问单个节点的删除
- 访问单个节点的删除
- 访问单个节点的删除
- 访问单个节点的删除
- 访问单个节点的删除
- 访问单个节点的删除
- 访问单个节点的删除
- 访问单个节点的删除(Java)
- 牛客网 | 访问单个节点的删除
- 牛客网-访问单个节点的删除
- 访问单个节点的删除练习
- [牛客]访问单个节点的删除练习题
- 理解线程池的原理
- C# https客户端获取证书的工具方法
- 《PCL点云库学习&VS2010(X64)》Part 35 VFH_Recognition——FLANN_Build_Tree
- Ubuntu的一些常用快捷键
- win10和ubuntu双系统卸载ubuntu方法
- 链表10:访问单个节点的删除
- LeetCode备忘录
- div水平与垂直剧中
- Maven中-DskipTests和-Dmaven.test.skip=true的区别
- python-nmap 0.6.1使用
- 链表11:链表的分化
- mono字体
- 自定义控件之-流式布局FlowLayout
- caffe绘制网络结构图