![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Leetcode简单题
文章平均质量分 53
Leetcode简单题
oLengNuanZiZhi12
这个作者很懒,什么都没留下…
展开
-
Leetcode题目之二叉树的最大深度
二叉树的最大深度1>题目描述2>题解三级目录1>题目描述给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \9 20 / \ 15 7返回它的最大深度 3 。2>题解以树的某一节点,来设置递归/** * Definition for a binary t原创 2021-03-03 10:30:57 · 71 阅读 · 0 评论 -
Leetcode题目之对称二叉树
对称二叉树1>题目描述2>解法1>题目描述给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 进阶: 你可以运用递归和迭代两种方法解决这个问题原创 2021-03-03 10:30:46 · 62 阅读 · 0 评论 -
Leetcode题目之相同的树
相同的树1>题目描述2>解法1>题目描述给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。2>解法考虑递归结束条件如果在两颗树的相同一节点的值不相等输出false如果两棵树的相同节点的值不相等时输出false如果两颗树的相同节点上一个为null一个不为null输出false如果两个树相同节点上值相同将左子树和右子树递归如果两颗树的某一节点同时为null,说明已经到原创 2021-03-03 10:30:32 · 65 阅读 · 0 评论 -
Leetcode题目之实现 strStr()
@[TOC](实现 strStr())1>题目描述实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = "hello", needle = "ll" 输出: 2 示例 2: 输入: haystack = "aaaaa", needle = "bba" 输出: -1 说明原创 2021-03-03 10:30:16 · 65 阅读 · 0 评论 -
Leetcode题目之反转字符串
反转字符串1>题目描述2>栈法2.1、代码思路2.2、代码实现3>双指针法3.1、代码实现1>题目描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 1: 输入:["h","e","l","l","o"] 输出:["o","l","l","e"原创 2021-02-25 11:51:45 · 60 阅读 · 0 评论 -
Leetcode题目之罗马数字转整数
罗马数字转整数1>题目描述2>分类法(第一想法)2.1、代码思路2.2、代码实现3>更优解3.1、代码思路3.2、代码实现1>题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M原创 2021-02-25 11:45:21 · 79 阅读 · 1 评论 -
Leetcode题目之环形链表
环形链表1>题目描述2>Set集合解法(第一想法)2.1、代码思路2.2、代码实现3>快慢指针3.1、代码思路3.2、代码实现1>题目描述给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中原创 2021-02-25 09:35:59 · 97 阅读 · 0 评论 -
Leetcode题目之最大子序和
最大子序和1>题目描述2>暴力递归2.1、代码思路2.2、代码实现3>贪心算法3.1、代码思路3.2、代码实现4>动态规划4.1、代码思路4.2、代码实现1>题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 示例 2: 输入:nums =原创 2021-02-25 09:16:07 · 62 阅读 · 0 评论 -
Leetcode题目之合并两个有序链表
合并两个有序链表1>题目描述2>迭代法(第一想法)2.1、代码思路2.2、代码实现2.3、重新思考2.4、代码实现3>递归实现3.1、代码思路3.2、代码实现1>题目描述将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3: 输入原创 2021-02-24 22:39:14 · 63 阅读 · 0 评论 -
Leetcode题目之有效的括号
有效的括号1>题目描述2>使用栈来解决(第一想法)2.1、代码思路2.2、代码实现2.3、重新思考2.4、代码实现1>题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 示例 1: 输入:s = "()" 输出:true 示例 2: 输入:s = "()[]{}" 输出:true 示例 3:原创 2021-02-24 17:37:51 · 70 阅读 · 0 评论 -
Leetcode题目之最长公共前缀
最长公共前缀1>题目描述2>纵向查找(第一想法)2.1、代码思路2.2、代码实现2.3、复杂度分析3>横向查找3.1、代码思路3.2、代码实现3.3、复杂度分析4>分治4.1、代码思路4.2、代码实现4.3、复杂度分析5>二分查找1>题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入:strs = ["flower","flow","flight"] 输出:"fl" 示例 2:原创 2021-02-23 11:15:33 · 235 阅读 · 2 评论 -
Leetcode题目之两数之和
两数之和1>问题描述2>解法一3>解法二1>问题描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。2>解法一通过暴力枚举遍历数组找到该值,双重for循环缺点是时间复杂度O(n^2)class Solution { public int[] twoSum(int[]原创 2021-02-20 18:03:07 · 67 阅读 · 0 评论 -
Leetcode题目之整数反转
这里写目录标题1>题目描述2>解法一1>题目描述给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 输入:x = 123 输出:321 示例 2: 输入:x = -123 输出:-321 示例 3: 输入:x = 120 输出:21 示例 4: 输入:x = 0原创 2021-02-22 22:31:05 · 59 阅读 · 0 评论