这几天手的骨裂稍微好一点了,但是还是很疼,最近学校的课是真多,我都没时间做自己的事,但是好在今天下午是没有课的,我也终于可以做自己的事情了。今天分享几道题目移除链表元素这道题我们将以两种方法开解决,但是我觉得从总体思路上来讲,都可以称为双指针,第一个就是我们在我们原链表上进行修改,我们和之前顺序表的一个题目很是相似,就是我们遇到val就删除,那因为是链表,我们可以理解为释放它这个当前的空间,然后进行当前位置的前一个和后以一个位置的链接就行。我们给两个指针,然后cur的作用就是进行遍历,我们的prev这个指针就是找到它当前位置的前一个位置,因为我们要删除当前的位置,如果没有前面这个前驱指针,我们
文章目录87.扰乱字符串:样例1:样例2:样例3:提示:分析:题解:rust:go:c++:python:java:87.扰乱字符串:使用下面描述的算法可以扰乱字符串s得到字符串t:如果字符串的长度为1,算法停止如果字符串的长度>1,执行下述步骤:在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串s,则可以将其分成两个子字符串x和y,且满足s=x+y。随机决定是要「交换两个子字符串」还是要「保持这两个子字符串的顺序不变」。即,在执行这一步骤之后,s可能是s=x+y或者s=y+x。在x和y这两个子字符串上继续从步骤1开始递归执行此算法。给你两个长度相等的字符串s1和s2,判断s
目录1、题目介绍2、解题2.1、解题思路 2.2、图解说明 2.3、解题代码1、题目介绍原题链接:11.盛最多水的容器-力扣(LeetCode)输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组[1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例2:输入:height=[1,1]输出:1提示:n==height.length202、解题2.1、解题思路这道题最优的方法就是用双指针,我们可以用指针left和指针right分别指向数组height[]的第一个数和最后一个数,然后每次经过比较两个指针指向的数值的大
leetcode格式问题解决一、情景再现二、报错原因三、解决方法四、修正结果一、情景再现二、报错原因该错误是指源程序中有非法字符,需要将非法字符去掉。一般是由于coder1.使用中文输入法或者2.从别的地方直接复制粘贴代码造成的。代码中出现了中文空格,中文引号,各种中文标点符号都会出现,这是复制后leetcode的格式问题,简单修改一下就OK了。三、解决方法(1)把出错行的空格及其前后空格删掉重新打一下,看是否还是出现问题。(2)把明显和其他标点符号颜色不同的改掉。(大部分编译器都有颜色识别)(3)在出现问题的行中,删掉直接全部重打。四、修正结果成功啦>o( ̄▽ ̄)ブ
一、俩数相加2.俩数相加(题目链接)思路:这题题目首先要看懂,以示例1为例 即 342+465=807,而产生的新链表为7->0->8.可以看成简单的从左向右,低位到高位的加法运算,4+6=10,逢10进1,新链表第三位为3+4+1(第二位进的1),需要注意的的点是当9->9->9和9->9->9->9相加,相当于9->9->9->0和9->9->9->9相加代码实现:/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/typedefstructListNodeListNode
目录1.存在重复元素II 🌟2.外观数列 🌟🌟3.最优路线 🌟🌟🌟🌟每日一练刷题专栏 🌟Golang每日一练专栏Python每日一练专栏C/C++每日一练专栏Java每日一练专栏1.存在重复元素II给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums[i]=nums[j],并且 i 和 j 的差的 绝对值 至多为 k。示例 1:输入:nums=[1,2,3,1],k=3输出:true示例2:输入:nums=[1,0,1,1],k=1输出:true示例3:输入:nums=[1,2,3,1,2,3],k=2输出:false出处:https://edu.
1.消失的数字面试题17.04.消失的数字-力扣(LeetCode)https://leetcode.cn/problems/missing-number-lcci/这个题目当然有好几种解法,这里我推荐一种比较优秀的思路,也就是单身狗思路:异或。异或的特点是相异为一,相同为0,也就是两个相同的数字异或就等于0.那么我们只需要使用两个循环就能解决问题。第一个循环遍历nums这个数组的所有元素,由于少了一个元素5,所以判断条件是i那么我们就可以理解为tail在同时遍历两个数组,这里大家需要知道的一个小知识是3^4^3^4的最终结果还是0,因为这里可以使用交换律,就是3^3^4^4,就相当与两个0最
1、题目介绍原题链接:287.寻找重复数-力扣(LeetCode)示例1:输入:nums=[1,3,4,2,2]输出:2示例2:输入:nums=[3,1,3,4,2]输出:3提示:1nums.length==n+11nums 中 只有一个整数 出现 两次或多次 ,其余整数均只出现 一次2、解题2.1、解题思路当我们用一个指针i=0以i=nums[i];的方式遍历数组nums[]后可以得到图1,因为数组nums[]中一定存在的重复的数字 target,所以 target=(6) 这个位置一定有起码两条指向它的边,因此整张图一定存在环,且我们要找到的target就是这个环的入口,同时也是这道题的答
力扣(LeetCode)官网-全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界IT名企DreamOffer。https://leetcode.cn/problems/maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts/description/?envType=daily-question&envId=2023-10-27矩形蛋糕的高度为 h 且宽度为 w,给你两个整数数组 horizontalCuts 和 verticalCuts,其中: horizontal
142.环形链表—力扣题目描述:给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改链表。示例1:输入:head=[3,2,0,-4],pos=1输出:返回索引为1的链表节点解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head=[1,2],pos=0输