随笔分类 -  数据结构与算法

二叉树 | 迭代法 102.二叉树的层序遍历 429. N 叉树的层序遍历 226.翻转二叉树
摘要:leetcode 102.二叉树的层序遍历 题目 102.二叉树的层序遍历 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 解题思路 实现代码 class TreeNode: def __init__(self, val=0, left=None, 阅读全文
posted @ 2024-05-19 18:03 小鹿BAMBI 阅读(15) 评论(0) 推荐(0)
二叉树 | 递归法 101.对称二叉树
摘要:leetcode 101.对称二叉树 题目 101.对称二叉树 给你一个二叉树的根节点 root , 检查它是否轴对称。 解题思路 递归法,判断左节点的左孩子是否可以翻转成右节点的右孩子(左节点的左孩子 == 右节点的右孩子,左节点的右孩子 == 右节点的左孩子) 递归三步骤: 1、确定递归函数的入 阅读全文
posted @ 2024-05-19 18:01 小鹿BAMBI 阅读(45) 评论(0) 推荐(0)
二叉树 | 递归法 144.二叉树的前序遍历 145.二叉树的后序遍历 94.二叉树的中序遍历
摘要:leetcode 144.二叉树的前序遍历 题目 xxx 解题思路 实现代码 leetcode 145.二叉树的后序遍历 题目 xxx 解题思路 实现代码 leetcode 94.二叉树的中序遍历 题目 xxx 解题思路 实现代码 阅读全文
posted @ 2024-05-19 17:50 小鹿BAMBI 阅读(12) 评论(0) 推荐(0)
栈与队列 | 20.有效的括号 1047.删除字符串中的所有相邻重复项 150.逆波兰表达式求值
摘要:leetcode 20.有效的括号 题目 20.有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 解题思路 阅读全文
posted @ 2024-05-04 20:10 小鹿BAMBI 阅读(13) 评论(0) 推荐(0)
栈和队列 | 232.用栈实现队列 225.用队列实现栈
摘要:leetcode 232.用栈实现队列 题目 232.用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的 阅读全文
posted @ 2024-05-03 14:47 小鹿BAMBI 阅读(22) 评论(0) 推荐(0)
字符串 | 344.反转字符串 541. 反转字符串II 151.翻转字符串里的单词
摘要:leetcode 344.反转字符串 题目 344.反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 解题思路 双指针法 (1)定义左指针和右指针,左指针 阅读全文
posted @ 2024-04-14 12:24 小鹿BAMBI 阅读(19) 评论(0) 推荐(0)
哈希法 | 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
摘要:leetcode 454.四数相加II 题目 454.四数相加II 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + 阅读全文
posted @ 2024-04-13 22:13 小鹿BAMBI 阅读(22) 评论(0) 推荐(0)
哈希法 | 242.有效的字母异位词 349.两个数组的交集 202.快乐数 1.两数之和
摘要:leetcode 242.有效的字母异位词 题目 242.有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 解题思路 1、判断元素是否出现过 --使用哈希法 2、哈 阅读全文
posted @ 2024-04-11 08:32 小鹿BAMBI 阅读(31) 评论(0) 推荐(0)
链表 | 24.两两交换链表中的节点 19.删除链表的倒数第N个节点 142.环形链表II
摘要:leetcode 24.两两交换链表中的节点 题目 24.两两交换链表中的节点 解题思路 实现代码 本题对自己的难点 阅读全文
posted @ 2024-04-09 00:03 小鹿BAMBI 阅读(19) 评论(0) 推荐(0)
链表 | 203.移除链表元素 206.反转链表 707.设计链表
摘要:leetcode 203.移除链表元素 题目 203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 解题思路 1、创建一个虚拟头节点,简化删除过程(如果不创建虚拟头结点,则需要判断头节点是否 阅读全文
posted @ 2024-04-08 08:54 小鹿BAMBI 阅读(16) 评论(0) 推荐(0)
数组 | 59.螺旋矩阵
摘要:leetcode 59.螺旋矩阵 题目 59.螺旋矩阵 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 解题思路 构建一个n行n列的二维数组 计算转几圈(注意n为奇数时,转圈结束后会剩余一个中心点) 填充每圈的数值 阅读全文
posted @ 2024-04-06 16:26 小鹿BAMBI 阅读(50) 评论(0) 推荐(0)
数组 | 209.长度最小的子数组
摘要:leetcode 209.长度最小的子数组 题目 209.长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续 子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其 阅读全文
posted @ 2024-04-05 18:07 小鹿BAMBI 阅读(27) 评论(0) 推荐(0)
数组 | 977.有序数组的平方 209.长度最小的子数组 59.螺旋矩阵II
摘要:代码随想录算法训练营第2天 977.有序数组的平方 209.长度最小的子数组 59.螺旋矩阵II leetcode 977.有序数组的平方 题目 977.有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输 阅读全文
posted @ 2024-04-05 12:35 小鹿BAMBI 阅读(19) 评论(0) 推荐(0)
数组 | 704.二分查找 27.移除元素
摘要:leetcode 704.二分查找 题目 704.二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 解题思路 1、先获取数组的中间数 2、中间数和目标值进行比较 中间数 阅读全文
posted @ 2024-04-04 12:44 小鹿BAMBI