草庐IT

leetcode题解

全部标签

【独家】华为OD机试提供C语言题解 - 新学校选址

最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理已参加机试人员的实战技巧文章目录最近更新的博客使用说明新学校选址题目输入输出描述示例一输入输出说明Code使用说

《LeetCode》——LeetCode刷题日记

本期,将给大家带来的是关于 LeetCode的关于二叉树的题目讲解。目录(一)606.根据二叉树创建字符串💥题意分析 💥解题思路(二)102.二叉树的层序遍历💥题意分析💥解题思路(三)236.二叉树的最近公共祖先 💥题意分析💥解题思路(一)606.根据二叉树创建字符串首先,第一道题是关于二叉树创建字符串的题,接下来我将一步步的分析带大家理解这道题!题目如下:👇输入:root=[1,2,3,4]输出:"1(2(4))(3)"解释:初步转化后得到"1(2(4)())(3()())",但省略所有不必要的空括号对后,字符串应该是"1(2(4))(3)"。 输入:root=[1,2,3,null,4]输

链表oj题2(Leetcode)(牛客)——合并两个有序链表;判断回文链表;链表分割

链表oj题2(Leetcode)(牛客)一,合并两个有序链表1.1分析2.2代码二,链表的回文结构2.1分析2.2代码三,链表分割3.1分析3.2代码四,小结一,合并两个有序链表合并两个有序链表(力扣)1.1分析这里合并两个链表,我们首先想到的思路就是构建一个新的链表,然后比较两个链表的val值的大小依次插入新链表,这里我们还需要注意几个细节如果其中一个链表是空的那那么我们直接返回另外一个非空的链表我们在比较插入的时候用的是while循环条件就是两个链表都不为空,那么如果一个链表已经结束了,那么我们再后面应该再把另外一条链表插入完。还有一些细节我在我的代码注释中有做标注。2.2代码tructL

C/C++指针和数组笔试题解析

个人主页:点我进入主页专栏分类:C语言初阶    C语言程序设计————KTV    C语言小游戏   C语言进阶C语言刷题欢迎大家点赞,评论,收藏。一起努力,一起奔赴大厂。目录 1.前言 2.一维数组2.1习题一2.2习题二2.3习题三3.二维数组4.总结 1.前言         在前面,我们学习了指针基础和指针进阶的部分,想再次学习的可以点击指针进阶 ,指针进阶,指针初阶。这一次主要和大家一起学习指针的笔试题,这写题非常有意思,用到sizeof函数和strlen函数,接下来就让我们感受一下这些题目的乐趣吧。我们在做题需要知道sizeof(数组名)这里是计算整个数组的大小,也就是所占的字节

LeetCode #1348 Tweet Counts Per Frequency 推文计数

1348TweetCountsPerFrequency推文计数Description:Asocialmediacompanyistryingtomonitoractivityontheirsitebyanalyzingthenumberoftweetsthatoccurinselectperiodsoftime.Theseperiodscanbepartitionedintosmallertimechunksbasedonacertainfrequency(everyminute,hour,orday).Forexample,theperiod[10,10000](inseconds)woul

【C语言】指针的进阶(四)—— 企业笔试题解析

笔试题1:intmain(){ inta[5]={1,2,3,4,5}; int*ptr=(int*)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); return0;}【答案】在x86环境下运行【解析】&a是取出整个数组的地址,&a就表示整个数组,因此&a+1就是跳过一整个数组指向数组后方,因为这是一个数组的地址,不能够直接赋值给整型指针,所以需要将该地址强制转换为整型指针,才能给指针ptr接收,此时指针ptr就指向了数组后方。因此*(a+1)就等于a[1]自然是2,而*(ptr-1)就是向前挪动一个整型指向5  笔试题2:structTest{ intNum

蓝桥杯2023年第十四届省赛真题-买瓜--C语言题解

目录蓝桥杯2023年第十四届省赛真题-买瓜题目描述输入格式输出格式样例输入样例输出提示【思路解析】【代码实现】蓝桥杯2023年第十四届省赛真题-买瓜时间限制:3s 内存限制:320MB 提交:796解决:69题目描述小蓝正在一个瓜摊上买瓜。瓜摊上共有n个瓜,每个瓜的重量为Ai 。小蓝刀功了得,他可以把任何瓜劈成完全等重的两份,不过每个瓜只能劈一刀。小蓝希望买到的瓜的重量的和恰好为m。请问小蓝至少要劈多少个瓜才能买到重量恰好为m的瓜。如果无论怎样小蓝都无法得到总重恰好为m的瓜,请输出−1。输入格式输入的第一行包含两个整数n,m,用一个空格分隔,分别表示瓜的个数和小蓝想买到的瓜的总重量。第二行包含

五道LeetCode《中等难度》的单链表题

五道单链表中等难度题型1.剑指OfferII021.删除链表的倒数第n个结点第一种解法(单指针):第二种解法(栈):第三种解法(双指针):2.删除排序链表中的重复元素II(重点)普通状态特殊状态(头结点重复时)特殊状态(删除尾结点时)3.删除链表中的节点4.重排链表思路一:思路二(寻找链表中点+链表逆序+合并链表)5.剑指OfferII077.链表排序(重点!)1.剑指OfferII021.删除链表的倒数第n个结点题目描述:找到链表的倒数第n个结点,并删除该结点三种解法:第一种解法(单指针):1.遍历链表,求出链表长度L2.链表长度L减去n,就是倒数第n个结点3.找到倒数第n个结点的前驱结点,

leetcode(力扣):203移除链表元素 leetcode(力扣):206反转链表 leetcode(力扣):876.链表的中间结点多种解法

目录203.移除链表元素解法一:将目标元素前一个元素存放地址改为下一元素地址解法二:遍历原链表,把不是val的节点拿出来进行尾插到新链表​编辑解法三:有哨兵位解法->头节点不存储有效数据​编辑206.反转链表方法一:创建新指针​编辑方法一:创建新指针进行反转​编辑方法二:将指针方向颠倒​编辑876.链表的中间结点203.移除链表元素解法一:将目标元素前一个元素存放地址改为下一元素地址structListNode*removeElements(structListNode*head,intval){ structListNode*prev=NULL; structListNode*cur=hea

Leetcode392. 判断子序列

力扣(LeetCode)官网-全球极客挚爱的技术成长平台给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1:输入:s="abc",t="ahbgdc"输出:true示例2:输入:s="axc",t="ahbgdc"输出:false 解题思路:力扣(LeetCode)官网-全球极客挚爱的技术成长平台双指针代码如下:classSolution{publicbooleanisSubsequence(Strings,Stri