自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 【LeetCode】递归遍历 144.94.145 二叉树的前序遍历、中序遍历、后序遍历

给你二叉树的根节点root,返回它节点值的前序、后序、中序遍历。

2024-03-11 15:45:51 205

原创 【LeetCode】347.前 K 个高频元素

给你一个整数数组nums和一个整数k,请你返回其中出现频率前k高的元素。你可以按任意顺序返回答案。

2024-02-26 13:59:57 418 1

原创 【LeetCode】239. 滑动窗口最大值

给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。

2024-01-28 20:06:23 336

原创 【LeetCode】150. 逆波兰表达式求值(ASCII码)

即将后缀表达式转换成中缀表达式并计算。给你一个字符串数组tokens,表示一个根据逆波兰表示法表示的算术表达式。请你计算该表达式。返回一个表示表达式值的整数。

2024-01-04 19:47:47 554

原创 【LeetCode】1047. 删除字符串中的所有相邻重复项(StringBuffer简单用法)

给出由小写字母组成的字符串S重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

2024-01-03 12:14:29 522

原创 【LeetCode】20. 有效的括号(Deque的Stack用法)

给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否有效。左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。

2024-01-02 12:40:02 1939

原创 【LeetCode】225. 用队列实现栈(Queue接口 & Deque类)

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(pushtoppop和empty实现MyStack将元素 x 压入栈顶。int pop()移除并返回栈顶元素。int top()返回栈顶元素。如果栈是空的,返回true;否则,返回false。

2023-12-21 22:02:30 911

原创 【LeetCode】232. 用栈实现队列(Stack类 & Vector类)

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(pushpoppeekempty):实现MyQueue将元素 x 推到队列的末尾int pop()从队列的开头移除并返回元素int peek()返回队列开头的元素如果队列为空,返回true;否则,返回false。

2023-12-21 21:01:38 788

原创 【LeetCode】459. 重复的子字符串(KMP2.0)

给定一个非空的字符串s,检查是否可以通过由它的一个子串重复多次构成。

2023-12-21 20:02:22 469

原创 【LeetCode】28. 找出字符串中第一个匹配项的下标(KMP & String类)

给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从 0 开始)。如果needle不是haystack的一部分,则返回-1。

2023-12-21 15:14:47 1912

原创 【LeetCode】151. 反转字符串中的单词(StringBuilder类)

给你一个字符串s,请你反转字符串中单词的顺序。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。输入字符串s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。

2023-12-20 19:05:06 946

原创 【LeetCode】541. 反转字符串II

给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k字符中的前k个字符。如果剩余字符少于k个,则将剩余字符全部反转。如果剩余字符小于2k但大于或等于k个,则反转前k个字符,其余字符保持原样。

2023-12-20 12:13:03 335

原创 【LeetCode】344.反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

2023-12-20 09:11:03 325

原创 【LeetCode】第18题. 四数之和

给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组abc和d互不相同你可以按任意顺序返回答案。

2023-12-15 18:13:22 505

原创 【LeetCode】15. 三数之和(Set用法)

给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。

2023-12-14 12:10:07 1684 1

原创 【LeetCode】383. 赎金信(String转char[])

ransomNote和magazine,判断ransomNote能不能由magazine里面的字符构成。如果可以,返回true;否则返回false。magazine中的每个字符只能在ransomNote中使用一次。

2023-12-13 13:11:31 482 1

原创 【LeetCode】454. 四数相加 II

给你四个整数数组nums1nums2nums3和nums4,数组长度都是n,请你计算有多少个元组。

2023-12-13 12:48:58 450 1

原创 【LeetCode】1. 两数之和(Set<>,int[]转换)

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。

2023-12-13 11:50:50 402 1

原创 【LeetCode】202. 快乐数(ArrayList<>)

编写一个算法来判断一个数n是不是快乐数。「快乐数」对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果这个过程结果为1,那么这个数就是快乐数。如果n是快乐数就返回true;不是,则返回false。

2023-12-09 09:38:18 857 1

原创 【LeetCode】349. 两个数组的交集(int[],List<>,Integer[]转换 & List用法)

给定两个数组nums1和nums2,返回它们的交集。输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。

2023-12-08 11:00:00 865

原创 【LeetCode】242. 有效的字母异位词(HashMap方法)

给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。

2023-12-07 11:04:29 883 1

原创 【LeetCode】142.环形链表II

给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始如果pos是-1,则在该链表中没有环。pos不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改链表。

2023-12-06 10:06:55 749 1

原创 【LeetCode】面试题 02.07. 链表相交

今日学习的文章链接和视频链接leetcode题目地址:面试题 02.07. 链表相交代码随想录题解地址:代码随想录题目简介给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回null。看到题目的第一想法(可以贴代码)1. 求出两个链表的长度lenA和lenB,定义双指针fast和slow,fast比slow快 | lenA - lenB | 个结点,一起遍历,直到两个指针的val相等。应该不用空的头结点。

2023-12-05 12:44:35 286 1

原创 【LeetCode】19.删除链表的倒数第N个节点

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?

2023-12-04 09:53:06 333

原创 【LeetCode】24. 两两交换链表中的节点

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

2023-12-01 15:32:57 819 1

原创 【LeetCode】206.反转链表

题意:反转一个单链表。示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL。

2023-11-30 10:23:02 369

原创 【LeetCode】707. 设计链表

你可以选择使用单链表或者双链表,设计并实现自己的链表。val和next。val是当前节点的值,next是指向下一个节点的指针/引用。如果是双向链表,则还需要属性prev以指示链表中的上一个节点。假设链表中的所有节点下标从0开始。实现初始化对象。获取链表中下标为index的节点的值。如果下标无效,则返回-1。将一个值为val的节点插入到链表中第一个元素之前。在插入完成后,新节点会成为链表的第一个节点。将一个值为val的节点追加到链表中作为链表的最后一个元素。将一个值为val。

2023-11-29 19:45:10 839 1

原创 【LeetCode】203. 移除链表元素

给你一个链表的头节点head和一个整数val,请你删除链表中所有满足的节点,并返回新的头节点。

2023-11-28 10:02:04 342 1

原创 【LeetCode】59.螺旋矩阵II

给你一个正整数n,生成一个包含1到n2所有元素,且元素按顺时针顺序螺旋排列的n x n正方形矩阵matrix。

2023-11-27 10:30:33 313

原创 【LeetCode】209. 长度最小的子数组

给定一个含有n个正整数的数组和一个正整数target。找出该数组中满足其总和大于等于target的长度最小的连续子数组,并返回其长度。

2023-11-24 10:35:54 328 1

原创 【LeetCode】977.有序数组的平方

把子类对象直接赋给父类引用叫做向上转型,向上转型不用强制转型,如Father f1=new Son(),把指向子类对象的父类引用赋给子类引用叫做向下转型,要强制转型,如Son s1 = (Son)f1。String 转 int:i = Integer.parseInt(s);或 i = Integer.valueOf(s).intValue();Integer 转 String:(Integer) x.toString() 或 Integer.toString(num)两边的值平方后永远大于中间的值。

2023-11-23 11:08:48 13 1

原创 【LeetCode】27.移除元素

2. C++:erase()函数时间复杂度O(n);Java:remove()删指定,clear()清空。3. 暴力解法O(n^2),双指针O(n),我原先的解法也是O(n) 两个for循环并联。双指针:fast指针用于寻找新数组所需元素;slow指针用于新数组赋值。//双指针想法比我原先的解法速度更快,内存消耗差不多。之前做过,看了一下感觉解法很暴力,想等会看一下视频。10:02 ~ 10:27 看视频题解。1. 数组删除操作在内存中的分布-覆盖。9:55 ~ 10:02 回顾题目。

2023-11-22 10:28:20 46 1

原创 【LeetCode】704.二分查找

先定位中间元素m = ( i + j ) / 2,与目标比大小,选取新的一半数组(前半段或后半段)while里的条件限制、right与left的更新值:要参考左右区间的开闭(边界情况)重复定位中间元素,与目标比大小,直到 i 与 j 重合。10:14 ~ 10:20 debug其他用例。10:25 ~ 10:39 写博客,看视频题解。调整 i 与 j,即while的跳出判定条件。命名用left,right比i,j更直观。设置两个指针 i 和 j ,指向头和尾。10:00 ~ 10:14 初步题解。

2023-11-21 10:40:27 42

原创 Math.round(), Math.ceil(), Math.floor()

三个函数都用于浮点数取整。【Math.round()】:将括号内的数+0.5之后,向下取值。例1:Math.round(11.4) = (11.4+0.5=11.9) =>11Math.round(11.6) = (11.6+0.5=12.1) =>12Math.round(-11.5) = (-11.5+0.5=-11) =>-11Math.round(-11.4) = (-11.4+0.5=-10.9) =>-11Math.round(-11.6) = (

2022-04-07 10:22:36 328

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除