[剑指offer][JAVA]面试题第[18]题[删除链表的节点]

【问题描述】[中等]

给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1:输入: head = [4,5,1,9], val = 5
输出: [4,1,9]
解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.

【解答思路】

1. 双指针

在这里插入图片描述
在这里插入图片描述
时间复杂度:O(N^2) 空间复杂度:O(1)

class Solution {public ListNode deleteNode(ListNode head, int val) {if(head.val == val) return head.next;ListNode pre = head, cur = head.next;while(cur != null && cur.val != val) {pre = cur;cur = cur.next;}if(cur != null) pre.next = cur.next;return head;}
}
2.单指针

时间复杂度:O(N) 空间复杂度:O(1)

 public ListNode deleteNode(ListNode head, int val) {if(head.val == val) return head.next;ListNode cur = head;while(cur != null){if(cur.next.val == val ){cur.next = cur.next.next;break;}cur=cur.next;}return head;}

【总结】

1.画图理解指针问题
2.遍历指针
 ListNode cur = head;while(cur != null)cur=cur.next;}
3.链表为空作判断 链表头尾特殊判断

参考链接:https://leetcode-cn.com/problems/shan-chu-lian-biao-de-jie-dian-lcof/solution/mian-shi-ti-18-shan-chu-lian-biao-de-jie-dian-sh-2/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python3 循环

L [Bart, Lisa, Adam] for i in L:print("这是for循环的" "输出 hello:" i.upper())i 0 while i < len(L):print("这是while 循环的输出 hello:" L[i])i i 1转载于:https://www.cnblogs.com/RHadoop-Hive/p/10432219.html

HDU 6168 Numbers 思维

本题就是告诉你有两个数串 其中第一个数串中的每两个元素ai和aj&#xff08;i<j&#xff09;相加得到的元素 放入第二个数串里 但由于两个数串给搞的比较混乱 需要解决从中识别出第一个数串并将其输出出来 本题其实仔细一想就能发现 这个问题 我们从数串的特点上考虑 第二…

前端基础2——CSS3

目录什么是CSSCSS的导入方式选择器美化网页元素盒子模型浮动定位什么是CSS Cascading Style Sheet 层叠级联样式表 CSS&#xff1a;表现层&#xff08;美化网页&#xff09; 字体&#xff0c;颜色&#xff0c;边距&#xff0c;高宽&#xff0c;背景图片&#xff0c;网页定位&…

Socket常见错误代码与描述

如错误代码10061&#xff0c; 说明服务器已经找到&#xff0c;但连接被服务器拒绝&#xff0c; 连接失败原因可能是&#xff1a; 端口号设置错误&#xff1b; 2.服务器没有处于监听状态 &#xff08;即ServerSocket –>Activetrue&#xff09;&#xff1b; 3.数据包被服务…

关于set的自定义比较函数的使用及结构体的上下二分用法

如果set的类型是个结构体 我们需要定义重载函数 ***set 容器模版需要3个泛型参数&#xff0c;如下&#xff1a; template <class Key,class Compare less <key>,class Alloc alloc>class set {...}; 第一个是元素类型&#xff0c;必选&#xff1b; 第二个指定…

BZOJ 3456: 城市规划(dp+多项式求逆)

传送门 解题思路 这道题就是求带标号的无向连通图个数&#xff0c;首先考虑\(O(n^2)\)的做法&#xff0c;设\(f_i\)表示有\(i\)个节点的无向连通图个数&#xff0c;那么考虑容斥&#xff0c;先把所有的无向图求出&#xff0c;即为\(2^{C(n,2)}\)&#xff0c;再减去不联通的情况…

前端基础3-1——JavaScript

目录什么是JavaScript快速入门引入JavaScript数据类型和基本语法入门1.变量2.number3.字符串4.布尔值5.逻辑运算6.比较运算符7.浮点数8.数组9.对象10.流程控制11.Map和Set集合严格检查模式use strict函数定义函数变量的作用域方法什么是JavaScript 概述 JavaScript是一门世界上…

[剑指offer][JAVA]面试题第[17]题[打印从1到最大的n位整数][大整数][递归回溯]

【问题描述】[中等] 输入数字 n&#xff0c;按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3&#xff0c;则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n 1 输出: [1,2,3,4,5,6,7,8,9]说明&#xff1a;用返回一个整数列表来代替打印 n 为正整数【解答思路】…

html:(40):块级元素和内联块级元素

1.下表列出了内联元素和块级元素的主要区别 html中内联元素和块级元素的区别 块级元素 行内元素 独占一行,默认情况下&#xff0c;其宽度自动填满其父元素宽度 相邻的行内元素会排列在同一行里&#xff0c;直到一行排不下&#xff0c;才会换行&#xff0c;其宽度随元素的内…

Django中提供了6种缓存方式

开发调试内存文件数据库Memcache缓存&#xff08;python-memcached模块&#xff09;Memcache缓存&#xff08;pylibmc模块&#xff09;1. 开发调试 12345678910111213141516171819202122232425262728293031323334353637383940# 此为开始调试用&#xff0c;实际内部不做任何操作…

HDU-6180 Schedule

题意 给n个工作的开始时间和结束时间 每个工作需要用机器来完成 让我们给这n个工作规划机器 规划出尽可能少机器数目 以及计算最少的机器时间(机器时间为机器使用的最终结束时间减去开始时间)分析 这道题其实就是一个工作的开始结束形成了一个线段 让我们求多个线段不交叉不重…

数字图像处理技术的应 用领域

数字图像处理技术的应 用领域 图像处理技术的主要应用领域有&#xff1a; 生物医学、遥感技术、工业生产、军事技术、 通信技术、侦缉破案、气象预报、宇宙探索、考 古等&#xff0c;已经遍布国民经济的各个领域。 发展历史 20世纪20年代&#xff1a;报纸业 Bartlane电缆图…

前端基础3-2——JavaScript

目录内部对象DateJSONAJAX面向对象编程操作BOM对象&#xff08;重点&#xff09;操作DOM对象&#xff08;重点&#xff09;操作表单formjQuery如何巩固前端基础内部对象 标准对象 Date 基本使用 转换 JSON JSON是什么 在javascript中&#xff0c;一切皆为对象&#…

ltp makefile 解析

困惑于 /include/mk/automake.mk中出现了第一个目标 而makefile却任然将all当做最终目标 测试了一番后发觉&#xff1a; ifeq ($(MAKE_3_80_COMPAT),1)# Trick make 3.80 into thinking that the default goal is all..PHONY: defaultdefault: allelse #pick this.DEFAULT_GOA…

数字图像处理(拓展)

1&#xff0e;数字图像处理及特点 数字图像处理又称为计算机图像处理&#xff0c;它是指将图像信号转换成数字信号并利用计算机 对其进行处理的过程&#xff0c;以提高图像的实用性&#xff0c;从而达到人们所要求的预期结果。 数字图像处 理还有以下特点&#xff1a; ① 处理…

HDU-5532Almost Sorted Array LIS问题

题意 就是检查这个序列是否删除一个元素就能变成非严格的有序序列 表面上就是一个卡条件检查数组的问题 分析&#xff1a; 在向量中upperbound插入上界 这样能够使数组里的数列长度尽可能大 因为 我们是在不断用小数替换数列中的数 大的数直接拼接到最后 code #include…

文件和结构体

LITTLESUN本来是在学队列啊&#xff0c;在手动模拟队列的地方发现了结构体这个小怪&#xff0c;为了能赶紧打队列大BOSS就赶紧跑过来填下文件和结构体的坑鸭&#xff01; 转载于:https://www.cnblogs.com/LITTLESUNwl/p/10435877.html

电磁波谱与可见光谱

电磁波谱与可见光谱 电磁辐射波 在实际的图像处理应用中&#xff0c;最主要的图像来源于电磁 辐射成像。 电磁辐射波包括无线电波、微波、红外线、可见光、 紫外线、X射线、γ射线。 电磁辐射波的波谱范围很广&#xff0c;波长最长的是无线电波 为3102m&#xff0c;其波长是…

[Leedcode][JAVA][第9题][回文数][数学法]

【问题描述】[简单] 判断一个整数是否是回文数。回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。示例 1:输入: 121 输出: true 示例 2:输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。…

Weak Pair HDU - 5877 树状数组+离散化+DFS遍历

题意 给我们一颗有根有向树 以及每个点得权值a[1]~a[n] 需要我们求出在这颗树种有多少对满足以下两个条件的pair &#xff08;1&#xff09;u是v的祖先节点 &#xff08;2&#xff09;a[u]*a[v]< k N<1e5 a[i]<1e9 k<1e18 分析 由于需要在树中找符合要求的对…