
leetcode集合
文章平均质量分 65
宇航员写代码
南京大学计算机科学与技术系本科生在读,努力写代码的普通学生
展开
-
[LeetCode]t953_验证“外星语”词典
题目链接:953.验证外星语词典在本篇及之后,一些简单题就不上题目描述了,思路也是略讲而过(没什么可记录的)。解题思路先用一个数组重新记录下重排后的字典序,然后根据重排后的字典序,自定义字符串之间的比较函数,遍历所有字符串考察其是否满足按新的字典序升序排列。具体代码#include <iostream>#include <vector>#include <string>using namespace std;class Solution{ in原创 2022-05-17 12:58:29 · 164 阅读 · 0 评论 -
[LeetCode]面试题04_06_后继者
题目链接:面试题04_06_后继者题目描述设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。如果指定节点没有对应的“下一个”节点,则返回null。示例1:输入: root = [2,1,3], p = 1 2 / \1 3输出: 2示例2:输入: root = [5,3,6,2,4,null,null,1], p = 6 5 / \ 3 6 / \ 2 4 / 1解题思路中序遍历并记录:这道原创 2022-05-17 12:26:47 · 74 阅读 · 0 评论 -
[LeetCode]面试题01_05
题目链接:LeetCode.面试题01_05 一次编辑题目描述字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例1:输入: first = "pale"second = "ple"输出: True示例2:输入: first = "pales"second = "pal"输出: False思路这题思路还是比较简单的:如果两个字符串长度相等,那么就统计它们之中不同字符的个数,如果超过1,原创 2022-05-14 00:06:59 · 90 阅读 · 0 评论 -
[LeetCode]t944_删列造序
题目链接:LeetCode.994题目描述给你由n个小写字母字符串组成的数组strs,其中每个字符串长度相等。这些字符串可以每个一行,排成一个网格。例如,strs = ["abc", "bce", "cae"] 可以排列为:abcbcecae你需要找出并删除 不是按字典序升序排列的 列。在上面的例子(下标从 0 开始)中,列 0('a', 'b', 'c')和列 2('c', 'e', 'e')都是按升序排列的,而列 1('b', 'c', 'a')不是,所以要删除列 1 。返回你需要删除原创 2022-05-12 14:04:25 · 88 阅读 · 0 评论 -
[LeetCode]t449_序列化和反序列化二叉搜索树
题目链接:LeetCode.499题目描述序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后在同一个或另一个计算机环境中重建。设计一个算法来序列化和反序列化 二叉搜索树 。 对序列化/反序列化算法的工作方式没有限制。 您只需确保二叉搜索树可以序列化为字符串,并且可以将该字符串反序列化为最初的二叉搜索树。编码的字符串应尽可能紧凑。示例 1:输入:root = [2,1,3]输出:[2,1,3]示例2:输入:root = []原创 2022-05-12 00:11:39 · 166 阅读 · 0 评论 -
[LeetCode]t133_克隆图
链接:133.克隆图题目描述给你无向连通图中一个节点的引用,请你返回该图的深拷贝(克隆)。图中的每个节点都包含它的值 val(int)和其邻居的列表(list[Node])。测试样例:输入:adjList = [[2,4],[1,3],[2,4],[1,3]]输出:[[2,4],[1,3],[2,4],[1,3]]解释:图中有 4 个节点。节点 1 的值是 1,它有两个邻居:节点 2 和 4 。节点 2 的值是 2,它有两个邻居:节点 1 和 3 。节点 3 的值是 3,它有两个邻居原创 2022-05-10 21:12:25 · 109 阅读 · 0 评论 -
[LeetCode]t942_增减字符串匹配
题目描述由范围 [0,n] 内所有整数组成的 n + 1 个整数的排列序列可以表示为长度为 n 的字符串 s ,其中:如果 perm[i] < perm[i + 1] ,那么 s[i] == 'I'如果 perm[i] > perm[i + 1] ,那么 s[i] == 'D'给定一个字符串 s ,重构排列 perm 并返回它。如果有多个有效排列perm,则返回其中 任何一个 。给定一个字符串 s,重构排列 perm并返回它。如果有多个有效排列perm,则返回其中 任何一个 。示原创 2022-05-09 20:27:44 · 370 阅读 · 0 评论 -
[LeetCode]t15_三数之和
题目描述15.三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。思路一种直接且暴力的做法就是开三重循环依次验证,将满足a+b+c=0a+b+c=0a+b+c=0的a,b和c穷举出来,然后统一进行去重。这种做法无疑是直接且正确的,但时间复杂度显然达到了O(n3)O(n^3)O(n3)的级别。浏览完题目我的第一想法是:通过哈希表,O(n3原创 2022-05-09 13:57:54 · 240 阅读 · 2 评论