LeetCode
fuli_fox
苦逼的新手程序猿!
展开
-
二叉搜索树的遍历
二叉搜索树的操作定义验证二叉搜索树思路1思路2二叉搜索树查找二叉搜索树插入二叉搜索树删除思路1思路2:递归实现平衡二叉树思路1:递归实现思路2有序数组转换为二叉搜索树N叉树N叉树前序遍历思路1:递归实现思路2:迭代实现N叉树后序遍历思路1:递归实现思路2:迭代实现N叉树最大深度定义二叉搜索树(BST)是二叉树的一种特殊表示形式,它满足如下特性:每个节点中的值必须大于(或等于)存储在其左侧子树中的任何值。每个节点中的值必须小于(或等于)存储在其右子树中的任何值。验证二叉搜索树给定一个二叉原创 2020-07-03 21:09:51 · 414 阅读 · 0 评论 -
二叉树的遍历(递归+迭代)
二叉树的操作前序遍历递归实现迭代实现中序遍历递归实现迭代实现后序遍历递归实现迭代实现二叉树层序遍历二叉树最大深度对称二叉树路径总和从中序与后序遍历序列构造二叉树从前序与中序遍历序列构造二叉树二叉树最近公共祖先二叉树序列化和反序列化序列化反序列化二叉树节点定义如下:struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NU原创 2020-07-03 10:27:17 · 156 阅读 · 0 评论 -
环形链表(专题,带图示和思路)
环形链表专题1和II环形链表思路1代码实现环形链表II思路1代码实现思路2代码实现思路3代码实现环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,...原创 2019-10-30 21:32:55 · 4287 阅读 · 0 评论 -
删除排序数组中的重复项(三种方法)
删除排序数组中的重复项题目描述思路1代码实现思路2代码实现思路3代码实现题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修...原创 2019-10-29 10:06:54 · 1557 阅读 · 0 评论 -
LeetCode:翻转字符串里的单词(sqlit)
翻转字符串里的单词题目描述思路1代码实现思路2代码实现思路3题目描述给定一个字符串,逐个翻转字符串中的每个单词。示例 1:输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 2:输入: "a good example"输出: "example good a"解释...原创 2019-10-26 20:13:00 · 196 阅读 · 0 评论 -
LeetCode 119:杨辉三角
杨辉三角题目描述思路1代码实现思路2代码实现题目描述给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例 1:输入: 3输出: [1,3,3,1]进阶:你可以优化你的算法到 O(k) 空间复杂度吗?思路1初始化前两层,后面层直接累加左上方和右上方的数的和代码实现class Solution {pu...原创 2019-10-26 16:10:22 · 144 阅读 · 1 评论 -
LeetCode189.旋转数组
旋转数组题目描述思路1代码实现思路2代码实现思路3代码实现题目描述给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,...原创 2019-10-26 12:23:02 · 165 阅读 · 0 评论 -
Leetcode:长度最小的子数组
长度最小的子数组题目描述思路代码实现题目描述给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例 1:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。思路可以使用滑动窗口的方法,i在左边界,j是右...原创 2019-10-25 21:43:13 · 178 阅读 · 0 评论 -
最大连续1的个数
最大连续1的个数题目描述思路代码实现题目描述给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:> 输入的数组只包含 0 和1。> 输入数组的长度是正整数,且不超过 10,000。思路从前往后扫描,同时记录连续1的个数用count记录,...原创 2019-10-24 22:10:34 · 770 阅读 · 0 评论 -
移除元素
移除元素题目描述思路代码实现题目描述给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长...原创 2019-10-24 20:46:41 · 117 阅读 · 0 评论