这道题的关键是知道找到尾节点的前一个节点必须遍历,而且这样做了之后总的时间复杂度还是O(1),以及如何不破坏链表删除一个已知节点

	public ListNode delete(ListNode head, ListNode toBeDelete){
//如果头节点为空或者只有一个节点
if(head == null || head.next == null)return null;
//如果要删除的节点在末尾
if(toBeDelete.next == null){
ListNode index = head;
while(index.next!= toBeDelete){
index = index.next;
}
index.next = index.next;
}else{//要删除的节点不在末尾
toBeDelete.val = toBeDelete.next.val;
toBeDelete.next = toBeDelete.next.next;
}
return head;
}

最新文章

  1. MySql 连接字符串
  2. linux应用程序开发-进程程序设计
  3. iphone按home键后,正在运行的程序是否退出了呢?
  4. 多功能表单填报系统V1.2.1-适用于在线报名系统、调查、数据收集等
  5. powerdesigner设置表主键列为自动增长。
  6. hdu 4618(最大回文子矩阵)
  7. 【LINUX】编程笔记
  8. Minimal Ratio Tree
  9. AOJ 0118 深度优先搜索
  10. 听翁恺老师mooc笔记(7)--字符串1
  11. netty 之 telnet HelloWorld 详解
  12. git基本概念
  13. 关于php下的ajax赋值传值的调试
  14. 【C#】语音识别 - System.Speech
  15. 全国高校绿色计算大赛 预赛第二阶段(Python)第1关:统计分数的麻烦
  16. 【转载并整理】JAVA解析或生成xml的四种方法
  17. 开发中遇到的一些mongoose的问题
  18. 【模板】网络流-最大流模板(Dinic)
  19. c++11 时间类 std::chrono
  20. Qt编译出错:“Cannot find file...... .pro."

热门文章

  1. 机器学习中的偏差(bias)和方差(variance)
  2. es6的...用法
  3. Java面试之基础篇(1)
  4. 开发 .swan 文件
  5. Floyd求解最短路
  6. R 保存图片——tiff
  7. UNR#3 Day1——[ 堆+ST表+复杂度分析 ][ 结论 ][ 线段树合并 ]
  8. 180128-----Java面试题
  9. 插头DP讲解+[BZOJ1814]:Ural 1519 Formula 1(插头DP)
  10. curl_init raw传递json参数