摘要: 二叉树遍历 分为前序、中序、后续、层序四种 其中前中后序属于深度优先搜索,层序属于广度优先搜索 前序遍历顺序: 根节点->左子树->右子树 中序遍历顺序: 左子树->根节点->右子树 后序遍历顺序: 左子树->右子树->根节点 不难发现,前中后其实就是根节点在遍历中的位置 至于层序遍历,顾名思义,就 阅读全文
posted @ 2024-08-12 20:46 Murder!sans 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 150. 逆波兰表达式求值 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 '+'、'-'、'*' 和 '/' 。 每个操作数(运算对象)都可以是一个整数或者另一个表达式。 两个整数之间的除法总 阅读全文
posted @ 2024-08-10 20:38 Murder!sans 阅读(52) 评论(0) 推荐(2) 编辑
摘要: 232.用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回 阅读全文
posted @ 2024-08-09 19:14 Murder!sans 阅读(20) 评论(0) 推荐(1) 编辑
摘要: KMP算法 主要用来进行字符串匹配 KMP的主要思想是当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。 所以如何记录已经匹配的文本内容,是KMP的重点,也是next数组肩负的重任。 next数组就是一个前缀表(prefix table)。 前缀表有什 阅读全文
posted @ 2024-08-09 11:25 Murder!sans 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 344.反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 \(O(1)\) 的额外空间解决这一问题。 示例 1: 输入:s = ["h","e","l","l","o"] 输出:["o"," 阅读全文
posted @ 2024-08-07 11:42 Murder!sans 阅读(136) 评论(0) 推荐(1) 编辑
摘要: 454.四数相加Ⅱ 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k] + nums4[l] == 阅读全文
posted @ 2024-08-06 13:21 Murder!sans 阅读(147) 评论(0) 推荐(1) 编辑
摘要: 242.有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 阅读全文
posted @ 2024-08-05 19:49 Murder!sans 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 24.两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2: 输入:head = [] 输出:[] 示例 3: 阅读全文
posted @ 2024-08-04 21:04 Murder!sans 阅读(223) 评论(0) 推荐(1) 编辑
摘要: 203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:hea 阅读全文
posted @ 2024-08-02 23:01 Murder!sans 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 209.长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 $ [nums_l, nums_{l+1}, ..., nums_{r-1}, nums_r] $,并返回其长度。如果不存在符合条件的子数组, 阅读全文
posted @ 2024-08-01 20:22 Murder!sans 阅读(367) 评论(0) 推荐(0) 编辑