自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉树Part02--层序遍历

给你一个二叉树,请你返回其按 层序遍历 得到的节点值。(即逐层地,从左到右访问所有节点)。

2024-02-21 16:55:49 318 1

原创 二叉树Part01

确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。写完了递归算法, 运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然就会溢出。确定每一层递归需要处理的信息。在这里也就会重复调用自己来实现递归的过程。先自定义一个TreeNode 类,用于表示二叉树的节点。在这段代码中,TreeNodevalleft。

2024-02-19 14:10:26 446 1

原创 栈Part02

此时我们需要一个队列,这个队列呢,放进去窗口里的元素,然后随着窗口的移动,队列也一进一出,每次移动之后,队列告诉我们里面的最大值是什么。利用栈,原理就是将数字按顺序放入栈中,碰到运算符就在栈中取出两个数字进行计算,再将计算结果放入栈中,重复上述步骤。就是后缀表达式,相比于我们正常的中缀表达,它不需要括号就可以正确运算。该算式转化为常见的中缀算术表达式为:(4 + (13 / 5)) = 6。的滑动窗口从数组的最左侧移动到数组的最右侧。函数用于执行一个字符串表达式,并返回表达式的值。组合成一个字符串表达式。

2024-02-15 11:01:49 478 1

原创 栈Part01

在Python中,可以使用列表来实现栈的主要操作。栈是一种遵循后进先出(LIFO)原则的数据结构。

2024-01-31 23:14:28 581

原创 字符串Part01

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须、使用 O(1) 的额外空间解决这一问题。利用双指针:我们定义两个指针(也可以说是索引下标),一个从字符串前面,一个从字符串后面,两个指针同时向中间移动,并交换元素。

2024-01-23 01:29:13 811 1

原创 哈希表Part02

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。用暴力解法,两个for循环,时间复杂度为o(n²)我们尝试不回头,只循环一次,那就需要将已循环的进行保存,再匹配。由于我们不仅要知道保存数值,还要返回下标,所以选择字典。

2024-01-20 23:56:04 388

原创 哈希表Part01

快速判断一个元素是否出现集合里。

2024-01-18 22:07:40 793 1

原创 链表Part02

❗不能return head,因为在使用虚拟头节点删除头节点的方法中,我们是通过断开了dummy_head与head之间的链,而不是使head = head.next;可以使用快慢指针法,分别定义 fast 和 slow 指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。

2024-01-17 01:19:59 835

原创 链表Part01

给你一个链表的头节点head和一个整数val,请你删除链表中所有满足的节点,并返回这是一道关于链表删除操作的综合题,包括了删除头节点、尾节点和删除中间的元素。

2024-01-15 23:56:41 357

原创 数组-Part02

给你一个按排序的整数数组nums,返回组成的新数组,要求也按排序。原来的数组的已经是排序数组了,因此如果数组没有负数项时,是不需要排序的。当数组含有负数,如A=[-4,-1,0,3,10],平方后[16,1,0,9,100] 是以0为中心向两边增大的,因此本题可以采用❗双指针法❗从数组两边开始进行比较,用一个新数组进行接收。

2024-01-14 23:31:25 333

原创 数组-移除元素

给你一个数组nums和一个值val,你需要移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

2024-01-14 01:52:34 318 1

原创 数组--二分查找

当num[mid] >/< target时,num[mid]一定不等于target,但是左闭右开,更新right时不需要-1,但更新left时要+1。当num[mid] >/< target时,num[mid]一定不等于target,又是闭区间,所以要-/+1。二分查找主要针对有序、无重复元素的数组。,如果目标值存在返回下标,否则返回。个元素有序的(升序)整型数组。易错点:区间的定义及闭合。

2024-01-13 18:58:22 355

空空如也

空空如也

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

TA关注的人

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