LeetCode
李小盒的草莓牛奶
这个作者很懒,什么都没留下…
展开
-
LeetCode刷题——190403
LeetCode119杨辉三角Ⅱ题目:给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。思路:构建一个一维数组:从第一层开始往下计算,每层从最后一个数开始计算代码: public ArrayList<Integer> getRow(int rowIndex) { ArrayList<Integer> res = new A...原创 2019-04-03 20:42:25 · 118 阅读 · 0 评论 -
19.7.1剑指offer
1.二维数组中的查找题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:由于二维数组按照顺序排列,所以可以选择从右上角或者左下角进行判断的开始以右上角为例,左边的值小于它,下一行的值大于它,所以如果target>x,则row++;若小...原创 2019-07-01 17:17:40 · 137 阅读 · 0 评论 -
LeetCode刷题——19.06.10
LeetCode28.实现strStr()题目:思路:代码:原创 2019-06-10 20:57:15 · 181 阅读 · 0 评论 -
LeetCode刷题——190417
Leet原创 2019-04-17 20:58:31 · 147 阅读 · 0 评论 -
LeetCode刷题——190416
LeetCode104二叉树的最大深度题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。思路:递归代码: public int maxDepth(TreeNode root) { if(root==null) return 0; int l...原创 2019-04-16 19:03:26 · 111 阅读 · 0 评论 -
LeetCode刷题——190412
LeetCode115.不同的子序列题目:给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是思路:代码:...原创 2019-04-12 22:16:49 · 123 阅读 · 0 评论 -
LeetCode刷题——190415
LeetCode107.二叉树的层次遍历题目:给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)思路1:不需要使用栈,通过链表的方式res.add(0,list);//list表示对每层节点的处理代码1: public ArrayList<ArrayList<Integer>> levelOrd...原创 2019-04-15 22:20:15 · 99 阅读 · 0 评论 -
LeetCode刷题——190402
LeetCode122题目:思路:代码:LeetCode123题目:给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。思路1:构建两个数组,分别表示从第一天开始卖,只卖一次可以取得的最大值;从最后第i天开始第二次卖可能达到的最大...原创 2019-04-02 18:48:09 · 195 阅读 · 0 评论 -
LeetCode刷题——190311
LeetCode 2 :两数相加题目:思路:注意:1.返回值类型是一个节点ListNode;代码: public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode result = new ListNode(0); ListNode p=l1,q=l2...原创 2019-04-11 16:59:06 · 77 阅读 · 0 评论 -
LeetCode刷题——190323
Candy题目:有n个孩子排成一排,为每个孩子分配一个等级。你分配给这些孩子的糖果需要符合以下要求:1.每个孩子至少要有一颗糖果;2.等级高的孩子要比他们的邻居得到更多的糖果。你最少需要给多少颗糖果。思路:遍历两遍。先从左往右遍历,再从右往左.我的思路只想到了一个方向上的扫描,不能保证双向最大。必须保证大于左右节点(双向)的等级,candy[i]最大,所以要双向扫描代码: pu...原创 2019-04-01 22:21:09 · 205 阅读 · 0 评论 -
LeetCode刷题——190322
Work-break题目Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.For example, given s =“leetcode”, dict =...原创 2019-04-01 22:12:56 · 91 阅读 · 0 评论 -
LeetCode刷题——190410
LeetCode116 填充每个节点的下一个右侧节点指针题目给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,...原创 2019-04-10 22:17:12 · 110 阅读 · 0 评论 -
剑指offer刷题---190401
1.包含min函数的栈题目定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))思路既要实现复杂度为o(1)的min功能,也要完成stack特有的push,pop功能。所以一个栈不可以同时实现,需要借助一个辅助栈来完成。 push:datastack正常压入node;minstack压入最小值 pop:datastack正常弹出,mins...原创 2019-04-01 17:28:22 · 175 阅读 · 0 评论 -
LeetCode刷题——190325
Leetcode140.单词拆分Word-break-ii题目:给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子思路:1.尾部追加法我想到了要用递归去做,但是我的想法是从头递归!此处从尾递归效率更高。除此之外,我的想法不是很能处理ArrayList的追加操作。我一开始的想法是...原创 2019-04-06 15:47:46 · 229 阅读 · 0 评论 -
Leetcode刷题——190327
LeetCode127题目给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复...原创 2019-03-27 20:33:50 · 130 阅读 · 0 评论 -
LeetcCode刷题---190326
这里写自定义目录标题LeetCode 130被围绕的区域题目:思路代码LeetCode 129 求跟到叶子节点数字的和题目:思路代码LeetCode674 最长连续递增序列题目:思路:代码LeetCode128 最长连续序列题目思路代码LeetCode 130被围绕的区域题目:给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。找到所有被 ‘X’围绕的区域,并将这些区域里所有的 ‘...原创 2019-03-26 18:29:02 · 390 阅读 · 0 评论 -
19.7.2剑指offer
4.重建二叉树题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:前序遍历的第一个节点是根节点。这样可以根据中序遍历中根节点的位置将二叉树分成两个字树(左子树、右子树)递归代码:...原创 2019-07-02 19:15:10 · 166 阅读 · 0 评论