自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Leetcode 543-二叉树的直径

题目描述给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 :给定二叉树返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。题解/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; *

2021-01-31 23:50:48 48

转载 Leetcode124-二叉树中的最大路径和

路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。题解题解转载自xiao_ben_zhu路径每到一个节点,有 3 种选择:1. 停在当前节点。2. 走到左子节点。3. 走到右子节点。走到子节点,又面临这 3 种选择,递归处理就好。注意,不能走进一个分支又掉头回来走另一个分支,路径重叠,不符合定义。定义递归函数我们关心路

2021-01-31 21:23:42 198

转载 Leetcode 22-括号生成

题目描述数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]题解题解转载自liweiwei1419深度优先遍历法解法除了最后一步之外每一步都和前一步处理方法相同:从剩余的左右括号中选择一使得匹配成立,所以使用递归我们以 n = 2 为例,画树形结构图。方法是 「做减法」。画

2021-01-31 20:10:54 128

转载 Leetcode 46-全排列

题目描述给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:题解题解转载自liweiwei1419深度优先搜索 算法(DFS)是一种用于遍历或搜索树或图的算法。这个算法会尽可能深 的搜索树的分支。当结点 v 的所在边都己被探寻过,搜索将 回溯 到发现结点 v 的那条边的起始结点。这一过程一直进行到已发现从源结点可达的所有结点为止。如果还存在未被发现的结点,则选择其中一个作为源结点并重复以上过程,整个进程反复进行直到所有结点都被访问为止。从全排列问题开始理解回溯算法我们尝试在纸上写

2021-01-31 16:09:03 130

转载 Leetcode560-和为K的子数组

题目描述给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。题解算出一共有几个和为 k 的子数组,把所有子数组都穷举出来,算它们的和,看看谁的和等于 k 就行了。关键是,如何快速得到某个子数组的和,比

2021-01-29 20:28:27 289

转载 leetcode 199-二叉树的右视图

题目描述给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。题解题解转载自Sweetiee一、BFS思路: 利用 BFS 进行层次遍历,记录下每层的最后一个元素。时间复杂度: O(N),每个节点都入队出队了 1 次。空间复杂度: O(N),使用了额外的队列空间。class Solution { public List<Integer> rightSideView(TreeNode root) { //这里用linke

2021-01-29 15:16:13 62

转载 Leetcode 142-环形链表 II

题目描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?题解题解转载自Krahets算法流程:(双指针法)双指针第一次相遇: 设两指针 fast,slow 指向链表头部 hea

2021-01-29 14:10:19 111 1

原创 计算器

https://leetcode-cn.com/problems/basic-calculator/solution/chai-jie-fu-za-wen-ti-shi-xian-yi-ge-wan-zheng-j-2/for (int i = 0; i < s.size(); i++) { char c = s[i]; if (isdigit(c)) num = 10 * num + (c - '0'); if (!isdigit(c) || i ==

2021-01-22 10:14:14 73

转载 Leetcode 713-乘积小于K的子数组

给定一个正整数数组 nums。找出该数组内乘积小于 k 的连续的子数组的个数。示例 1:输入: nums = [10,5,2,6], k = 100输出: 8解释: 8个乘积小于100的子数组分别为: [10], [5], [2], [6], [10,5], [5,2], [2,6], [5,2,6]。需要注意的是 [10,5,2] 并不是乘积小于100的子数组。说明:0 < nums.length <= 500000 < nums[i] < 10000 <

2021-01-22 10:06:26 119

转载 leetcode 204-计数质数

题目描述统计所有小于非负整数 n 的质数的数量。示例 1:输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2:输入:n = 0输出:0示例 3:输入:n = 1输出:0题解题解转载自Sweetie这是一个古老的筛素数的方法。方法如下:初始化长度 O(n)O(n) 的标记数组,表示这个数组是否为质数。数组初始化所有的数都是质数.从 2 开始将当前数字的倍数全都标记为合数。标记到sqrt(n) 时停止即可。具体可以看来自维

2021-01-16 20:50:29 159

原创 Leetcode 94 - 二叉树的中序遍历

题解题解参考王尼玛class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> list = new ArrayList<Integer>(); Stack<TreeNode> stack = new Stack<>(); TreeNode node=root; w

2021-01-16 20:35:23 99

原创 Leetcode 144 - 二叉树的前序遍历

题解方法一:递归法public static void preOrderRecur(TreeNode head) { if (head == null) { return; } System.out.print(head.value + " "); preOrderRecur(head.left); preOrderRecur(head.right);}方法二:迭代法题解转载自gre-z首先我们应该创建一个Stack用来存放节点,首先我们

2021-01-16 18:57:22 86

转载 Leetcode 1095-山脉数组中查找目标值

题目描述题目转载自Leetcode(这是一个 交互式问题 )给你一个 山脉数组 mountainArr,请你返回能够使得 mountainArr.get(index) 等于 target 最小 的下标 index 值。如果不存在这样的下标 index,就请返回 -1。何为山脉数组?如果数组 A 是一个山脉数组的话,那它满足如下条件:首先,A.length >= 3其次,在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] &lt

2021-01-16 15:40:07 579

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除