文章目录💡题目分析💡解题思路🚩方法1:反转指针指向🔔接口源码:🚩方法2:取节点头插🔔接口源码:题目链接👉LeetCode206.反转链表👈💡题目分析给你单链表的头节点head,请你反转链表,并返回反转后的链表。💡解题思路🚩方法1:反转指针指向定义n1、n2、n3分别代表一个节点的前、中、后三个位置,然后进行改变指针指向与迭代👇图解👇🔔接口源码:structListNode*reverseList(structListNode*head){if(head==NULL){returnNULL;}structListNode*n1=NULL;structListNode*n2=head;struct
LeetCode链接:225.用队列实现栈-力扣(LeetCode)本文默认读者已经掌握栈与队列的基本知识或者先看我的另一篇博客:【数据结构】栈与队列_字节连结的博客-CSDN博客做题思路由于我们使用的是C语言,不能直接使用队列的操作,所以做这道题得先把我们之前实现的队列复制过来://C语言模拟实现队列//链式结构:表示队列typedefintQDataType;typedefstructQueueNode{ structQueueNode*next; QDataTypedata;}QNode;//队列的结构typedefstructQueue{ QNode*head; QNode*tail;
文章目录💡题目分析💡解题思路🔔接口源码💡深度思考❓思考1❓思考2题目链接👉LeetCode141.环形链表👈💡题目分析给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。注意:pos不作为参数进行传递。仅仅是为了标识链表的实际情况。如果链表中存在环,则返回true。否则,返回false。💡解题思路快慢指针:定义两个指针,一个快指针、一个慢指针,让快指针一次走一步,慢指针一次走两步,如果存在环的话,快指针会先进环,一直在环中循
整体思路:(二叉树层次遍历)视频链接:讲透二叉树的层序遍历|广度优先搜索|LeetCode:102.二叉树的层序遍历_哔哩哔哩_bilibili看完视频可以一口气做十道题!(102、107、199、637、429、515、116、117、104、111)二叉树的层序遍历如图所示: leetcode226.翻转二叉树题目链接:226.翻转二叉树-力扣(LeetCode)视频链接:听说一位巨佬面Google被拒了,因为没写出翻转二叉树|LeetCode:226.翻转二叉树_哔哩哔哩_bilibili思路翻转二叉树就是把节点的左右孩子交换一下,如图所示:可以使用前序和后序,使用中序也可以,但是会有一
文章目录💡题目分析💡解题思路💡深度思考🔔接口源码题目链接👉LeetCode142.环形链表II👈💡题目分析给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改链表。💡解题思路先使用快慢指针找到相遇点(定义两个指针,一个快指针、一个慢指针,让快指针一次走一步,慢指针一次走两步,如
文章目录72.编辑距离:样例1:样例2:提示:分析:题解:rust:二维数组(易懂)滚动数组(更加优化的内存空间)go:c++:python:java:72.编辑距离:给你两个单词word1和word2,请返回将word1转换成word2所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符样例1:输入: word1="horse",word2="ros" 输出: 3 解释: horse->rorse(将'h'替换为'r') rorse->rose(删除'r') rose->ros(删除'e')样例2:输入: word1="intention",wor
💌博客内容:LeetCode训练营 😀作 者:陈大大陈🚀个人简介:一个正在努力学技术的准前端,专注基础和实战分享,欢迎私信!💖欢迎大家:这里是CSDN,我总结知识和写笔记的地方,喜欢的话请三连,有问题请私信😘😘😘目录3. 无重复字符的最长子串我的思路 源码 5. 最长回文子串我的思路源码 后记3. 无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。示
LeetCode每日一题系列题目:828.统计子串中的唯一字符难度:困难文章目录LeetCode每日一题系列题目示例思路题解题目给你n个长方体cuboids,其中第i个长方体的长宽高表示为cuboids[i]=[widthi,lengthi,heighti](下标从0开始)。请你从cuboids选出一个子集,并将它们堆叠起来。如果widthi返回堆叠长方体cuboids可以得到的最大高度。示例思路排序加动态规划:首先我们将所有长方体的长宽高按照从小到大的顺序排放,形如[3,4,5]的格式,最大的元素为高度,其他俩任意分为长和宽。在将整个长方体数组按照从小到大的顺序排列,这里默认是按照数组的第一
文章目录71.简化路径:样例1:样例2:样例3:样例4:提示:分析:题解:rust:go:c++:python:java:71.简化路径:给你一个字符串path,表示指向某一文件或目录的Unix风格绝对路径(以'/'开头),请你将其转化为更加简洁的规范路径。在Unix风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点(..)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,'//')都被视为单个斜杠'/'。对于此问题,任何其他格式的点(例如,'...')均被视为文件/目录名称。请注意,返回的规范路径必须遵循下述格式:始终以斜杠'/'开头
目录本篇前瞻Leetcode习题9题目描述代码编写控制结构顺序结构(Sequence)声明和赋值多返回值赋值运算符算术运算符位运算符逻辑运算分支结构if语句switch语句逻辑表达式fallthrough类型推断循环语句continuebreakgotoLeetcode习题69题目描述题目分析代码编写本篇小结下篇预告本篇前瞻好的,现在你已经来到一个新的小结,在这里你将学习到go语言的重要内容,习得go25个关键字中的12个:var,const,if,else,switch,case,default,fallthrough,for,break,goto,continue,即在顺序结构学习var,