![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣
文章平均质量分 52
我是卖报的小行家~
这个作者很懒,什么都没留下…
展开
-
LT简单题112-路径总和
题目链接问题描述:给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。叶子节点 是指没有子节点的节点。方法一:递归(C++代码)/***Definitionforabinarytreenode.*structTreeNode{*intval;*T...原创 2022-04-25 18:07:51 · 429 阅读 · 0 评论 -
LT简单题136-只出现一次的数字
题目链接题目描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?方法一:位运算(异或)异或运算有以下三个性质:任何数和0做异或运算,结果仍然是原来的数;任何数和其自身做异或运算,结果是0;异或运算满足交换律和结合律。(C++代码)classSolution{public:intsingleNumber(vector<i...原创 2022-04-26 15:49:46 · 182 阅读 · 0 评论 -
LT简单题197-上升的温度
题目链接题目描述:表: Weather+---------------+---------+| Column Name | Type |+---------------+---------+| id | int || recordDate | date || temperature | int |+---------------+---------+id 是这个表的主键该表包含特定日期的温度信息编写一个 SQ...原创 2022-04-30 10:55:29 · 45 阅读 · 0 评论 -
LT简单题205-同构字符串
题目链接题目描述:给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。示例 1:输入:s = "egg", t = "add"输出:true示例 2:输入:s = "foo", t = "bar"输出:false示例 3:输入:s = "pape原创 2022-05-01 10:24:49 · 250 阅读 · 0 评论 -
LT简单题183-从不订购的客户
题目链接题目描述:某网站包含两个表,Customers 表和 Orders 表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。Customers 表:+----+-------+| Id | Name |+----+-------+| 1 | Joe || 2 | Henry || 3 | Sam || 4 | Max |+----+-------+Orders 表:+----+------------+| Id | CustomerId...原创 2022-04-28 11:41:52 · 1098 阅读 · 0 评论 -
LT简单题258-各位相加
题目链接题目描述:给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。示例 1:输入: num = 38输出: 2解释: 各位相加的过程为:38 --> 3 + 8 --> 1111 --> 1 + 1 --> 2由于2 是一位数,所以返回 2。示例 1:输入: num = 0输出: 0方法一:数学(C++代码)分析:我们对 num 分类讨论:num 不是 9 的倍数时,其数根即为 num 除以 9..原创 2022-05-04 15:44:27 · 584 阅读 · 1 评论 -
LT简单题283-移动零
题目链接题目描述:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0]方法一:双指针(C++代码)分析:使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。右指针不断向右移动,每次右指针指向非零数,...原创 2022-05-06 11:14:08 · 51 阅读 · 0 评论 -
LT简单题171-Excel表列序号
题目链接题目描述:给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。例如:A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28...方法一:进制转换(C++代码)分析:此题的本质为26进制转换为10进制注意:这道题和标准的进制转换不同,Excel表的列序号是从1开始的,因此在进制转换时需要进行处理。classSolution...原创 2022-04-28 10:26:34 · 328 阅读 · 0 评论 -
LT简单题125-验证回文串
题目链接题目描述:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。方法一:筛选+判断方法二:在原字符串上直接判断判断的方法有两种:(1)使用库函数(2)双指针本文先只展示方法一+(1)(C++代码)classSolution{public:boolisPalindrome(strings){string...原创 2022-04-26 15:37:00 · 361 阅读 · 0 评论 -
LT简单题268-丢失的数字
题目链接题目描述:给定一个包含[0, n]中n个数的数组nums,找出[0, n]这个范围内没有出现在数组中的那个数。示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例 2:输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 num...原创 2022-05-04 16:25:56 · 628 阅读 · 0 评论 -
LT简单题232-用栈实现队列
题目链接题目描述:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你 只能 使用标准的栈操作 —— 也就是只有push to top,peek/pop ..原创 2022-05-03 23:00:17 · 168 阅读 · 0 评论 -
LT简单题202-快乐数
题目链接题目描述:编写一个算法来判断一个数 n 是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为1,那么这个数就是快乐数。如果 n 是 快乐数 就返回 true ;不是,则返回 false 。示例 1:输入:n = 19输出:true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 0.原创 2022-04-30 11:32:18 · 405 阅读 · 0 评论 -
LT简单题234-回文链表
题目链接题目描述:给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。示例 1:输入:head = [1,2,2,1]输出:true示例 2:输入:head = [1,2]输出:false时间复杂度:O(n),空间复杂度:O(1),其中n指的是链表的大小,...原创 2022-05-04 09:47:58 · 473 阅读 · 0 评论 -
LT简单题182-查找重复的电子邮箱
题目链接题目描述:编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。示例:+----+---------+| Id | Email |+----+---------+| 1 | a@b.com || 2 | c@d.com || 3 | a@b.com |+----+---------+根据以上输入,你的查询应返回以下结果:+---------+| Email |+---------+| a@b.com |+---------+说明...原创 2022-04-28 11:19:05 · 711 阅读 · 0 评论 -
LT简单题119-杨辉三角Ⅱ
题目链接题目描述:给定一个非负索引rowIndex,返回「杨辉三角」的第rowIndex行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。(思路与上一题相同,区别在于上一题返回的是ret,这个题返回的是ret[rowIndex])方法一:数学(C++代码)classSolution{public:vector<int>getRow(introwIndex){vector<vector<int>&g...原创 2022-04-25 18:45:53 · 62 阅读 · 0 评论 -
LT简单题181-超过经理收入的员工
题目链接题目描述:表:Employee+-------------+---------+| Column Name | Type |+-------------+---------+| id | int || name | varchar || salary | int || managerId | int |+-------------+---------+Id是该表的主键。该表的每一行都表示雇员的I...原创 2022-04-28 11:05:07 · 644 阅读 · 0 评论 -
LT简单题257-二叉树的所有路径
题目链接题目描述:给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。示例 1:输入:root = [1,2,3,null,5]输出:["1->2->5","1->3"]示例 2:输入:root = [1]输出:["1"]方法一:深度优先搜索(C++代码)/***Definitionforabinarytreenode.*structTreeNode...原创 2022-05-04 16:10:21 · 821 阅读 · 0 评论 -
LT简单题193-有效电话号码
题目链接参考文章链接题目描述:给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个单行 bash 脚本输出所有有效的电话号码。你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一个数字)你也可以假设每行前后没有多余的空格字符。示例:假设 file.txt 内容如下:987-123-4567123 456 7890(123) 456-7890你的脚本应当输出下列有效的电话号原创 2022-04-29 19:44:28 · 265 阅读 · 1 评论 -
LT简单题206-反转链表
题目链接题目描述:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]方法一:两个指针(C++代码)/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*nex...原创 2022-04-30 17:42:22 · 624 阅读 · 0 评论 -
LT简单题237-删除链表中的节点
题目链接题目描述:请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 。题目数据保证需要删除的节点 不是末尾节点 。示例 1:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:指定链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9示例 2:输入:head = [4,5,1,9], node ..原创 2022-05-04 12:12:13 · 441 阅读 · 0 评论 -
LT简单题242-有效的字母异位词
题目链接题目描述:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false方法一:排序(C++代码)分析:t是s的异位词等价于「两个字符串排序后相等」。classSolution{p...原创 2022-05-04 15:25:48 · 254 阅读 · 0 评论 -
LT简单题338-比特位计数
题目链接题目描述:给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。示例 1:输入:n = 2输出:[0,1,1]解释:0 --> 01 --> 12 --> 10示例 2:输入:n = 5输出:[0,1,1,2,1,2]解释:0 --> 01 --> 12 --> 103 --> 114 --> 1原创 2022-05-07 10:15:21 · 125 阅读 · 0 评论 -
LT简单题235-二叉搜索树的最近公共祖先
题目链接题目描述:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树:root =[6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = ...原创 2022-05-04 10:56:06 · 84 阅读 · 0 评论 -
LT简单题141-环形链表
题目链接题目描述:给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。 否则,返回 false 。方法一:哈希表(C++代码)/***Definitionforsingly-lin...原创 2022-04-26 21:02:22 · 66 阅读 · 0 评论 -
LT简单题190-颠倒二进制位
题目链接题目描述:颠倒给定的 32 位无符号整数的二进制位。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。示例 1:输入:n = 00000010100101000001.原创 2022-04-28 15:50:53 · 55 阅读 · 0 评论 -
LT简单题121-买卖股票的最佳时机
题目链接题目描述:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。方法一:暴力破解法(超时)(C++代码)classSolution{public:intmaxProfit(vector<int>&...原创 2022-04-26 15:05:35 · 217 阅读 · 1 评论 -
LT简单题219-存在重复元素Ⅱ
题目链接题目描述:给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。示例1:输入:nums = [1,2,3,1], k = 3输出:true示例 2:输入:nums = [1,0,1,1], k = 1输出:true示例 3:输入:nums = [1,2,3,1,2,3], k = 2.原创 2022-05-02 10:45:46 · 505 阅读 · 0 评论 -
LT简单题263-丑数
题目链接题目描述:丑数 就是只包含质因数 2、3 和 5 的正整数。给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。示例 1:输入:n = 6输出:true解释:6 = 2 × 3示例 2:输入:n = 1输出:true解释:1 没有质因数,因此它的全部质因数是 {2, 3, 5} 的空集。习惯上将其视作第一个丑数。示例 3:输入:n = 14输出:false解释:14 不是丑数,因为它包含了另外一个质因数7.原创 2022-05-04 15:54:17 · 491 阅读 · 0 评论 -
LT简单题278-第一个错误的版本
题目链接题目描述:你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例原创 2022-05-06 10:47:23 · 127 阅读 · 0 评论 -
LT简单题169-多数元素
题目链接题目描述:给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例:输入:nums = [3,2,3]输出:3方法一:Boyer-Moore 投票算法(C++代码)classSolution{public:intmajorityElement(vector<int>&nums){...原创 2022-04-27 17:43:20 · 455 阅读 · 0 评论 -
LT简单题196-删除重复的电子邮箱
题目链接题目描述:表: Person+-------------+---------+| Column Name | Type |+-------------+---------+| id | int || email | varchar |+-------------+---------+id是该表的主键列。该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。编写一个 SQL 删除语句来 删除 所有重复的电子邮件,只保留一个...原创 2022-04-30 10:42:33 · 976 阅读 · 0 评论 -
LT简单题175-组合两个表
题目链接题目描述:表: Person+-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+-------------+---------+personId是该表的主键列。该表包含一些人的ID和他们的姓和名的信息。表: Address...原创 2022-04-28 10:52:34 · 507 阅读 · 0 评论 -
LT简单题326-3 的幂
题目链接题目描述:给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x输入:n = 27输出:true示例 2:输入:n = 0输出:false示例 3:输入:n = 9输出:true示例 4:输入:n = 45输出:false方法一:试除法(C++代码)classSolution{public:boolisPowe...原创 2022-05-06 11:52:06 · 209 阅读 · 0 评论 -
LT简单题228-汇总区间
题目链接题目描述:给定一个 无重复元素 的有序 整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。列表中的每个区间范围 [a,b] 应该按如下格式输出:"a->b" ,如果 a != b"a" ,如果 a == b示例 1:输入:nums = [0,1,2,4,5,7]输出:["0->2","4->...原创 2022-05-02 20:29:33 · 276 阅读 · 0 评论 -
LT简单题110-平衡二叉树
题目链接问题描述:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1 。分析:根据定义,一棵二叉树是平衡二叉树,当且仅当其所有子树也都是平衡二叉树,因此可以使用递归的方式判断二叉树是不是平衡二叉树,递归的顺序可以是自顶向下或者自底向上。方法一:自顶向下的递归(C++代码)/***Definitionforabinarytreenode.*structTreeN...原创 2022-04-25 10:31:02 · 78 阅读 · 0 评论 -
LT简单题118-杨辉三角
题目链接问题描述:给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。分析:方法一:数学(C++代码)classSolution{public:vector<vector<int>>generate(intnumRows){vector<vector<int>>ret(numRows);f...原创 2022-04-25 18:28:47 · 254 阅读 · 0 评论 -
LT简单题191-位1的个数
题目链接题目描述:编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011中,共有三位为 '1'。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 000000000000000.原创 2022-04-29 19:11:50 · 73 阅读 · 0 评论 -
LT简单题195-第十行
题目链接参考文章链接题目描述:给定一个文本文件 file.txt,请只打印这个文件中的第十行。示例:假设 file.txt 有如下内容:Line 1Line 2Line 3Line 4Line 5Line 6Line 7Line 8Line 9Line 10你的脚本应当显示第十行:Line 10方法一:(awk代码)#Readfromthefilefile.txtandoutputthetenthlinetostdout.a...原创 2022-04-29 19:51:57 · 208 阅读 · 1 评论 -
LT简单题101-对称二叉树
题目链接问题描述:给你一个二叉树的根节点 root , 检查它是否轴对称。方法一:递归(C++代码)/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nullptr){}*...原创 2022-04-24 16:39:11 · 470 阅读 · 1 评论 -
LT简单题108-将有序数组转换为二叉搜索树
题目链接问题描述:给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。分析:BST的中序遍历是升序的,因此本题等同于根据中序遍历的序列恢复二叉搜索树。方法一:中序遍历,总是选择中间位置左边的数字作为根节点(C++代码)/***Definitionforabinarytreenode.*structTreeNode{...原创 2022-04-25 10:03:44 · 64 阅读 · 1 评论