随笔分类 -  leetcode

上一页 1 2 3 4 5 6 7 下一页

145.Binary Tree Postorder Traversal---二叉树后序非递归遍历
摘要:题目链接 题目大意:后序遍历二叉树。 法一:普通递归,只是这里需要传入一个list来存储遍历结果。代码如下(耗时1ms): 1 public List<Integer> postorderTraversal(TreeNode root) { 2 List<Integer> list = new Ar 阅读全文

posted @ 2017-11-08 10:01 二十年后20 阅读(186) 评论(0) 推荐(0)

144.Binary Tree Preorder Traversal---二叉树先序、中序非递归遍历
摘要:题目链接 题目大意:返回二叉树的先序遍历list。中序见94,后序见145。 法一:普通递归遍历,只是这里多了一个list数组,所以分成了两个函数。代码如下(耗时1ms): 1 public List<Integer> preorderTraversal(TreeNode root) { 2 Lis 阅读全文

posted @ 2017-11-07 09:24 二十年后20 阅读(153) 评论(0) 推荐(0)

142.Linked List Cycle II---双指针
摘要:题目链接 题目大意:141题目的扩展,给出单链表,判断是否有环,如果有环,找出环的开始的结点,如果没有环,返回null。 法一(借鉴):在已经找出单链表环的基础上再找开始结点,要时刻记住这个环不一定是从尾结点到头结点,有可能是中间的某一段。所以对于这里具体路径的分析,有两个博客可看http://bl 阅读全文

posted @ 2017-11-06 13:20 二十年后20 阅读(157) 评论(0) 推荐(0)

119.Pascal's Triangle II
摘要:题目链接 题目大意:给出第几行,返回杨辉三角里的该行数据。要求空间复杂度o(k) 法一:这里用一个list数组实现,就会导致所有数据存在一个list中,无法分辨的问题,所以后来要新开一个list从前面的list中抽取出最后的结果数据。空间复杂度不是o(k),代码如下(耗时3ms): 1 public 阅读全文

posted @ 2017-11-06 09:30 二十年后20 阅读(177) 评论(0) 推荐(0)

118.Pascal's Triangle
摘要:题目链接:https://leetcode.com/problems/pascals-triangle/description/ 题目大意:给出杨辉三角的行数,打印其杨辉三角。例子如下: 法一:直接模拟(传说这就是dp),杨辉三角的规律是:每个数都是其上两个元素的和。注意内层的list在每一次for 阅读全文

posted @ 2017-11-06 08:35 二十年后20 阅读(258) 评论(0) 推荐(0)

112.Path Sum
摘要:题目链接:https://leetcode.com/problems/path-sum/description/ 题目大意:给出一个二叉树和一个数字,求出是否有从根节点到叶节点的路径上的数之和等于这个数字,如果有返回true,否则返回false。 法一:利用先序遍历的思想,先对结点值进行加和然后再递 阅读全文

posted @ 2017-11-03 16:10 二十年后20 阅读(146) 评论(0) 推荐(0)

109.Convert Sorted List to Binary Search Tree
摘要:题目链接:https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/description/ 题目大意:将升序单链表转换为平衡二叉排序树。 法一(借鉴):利用108的二分思想,只是这里单链表没法直接拿到下标,所以每 阅读全文

posted @ 2017-11-01 09:35 二十年后20 阅读(198) 评论(0) 推荐(0)

108.Convert Sorted Array to Binary Search Tree
摘要:题目链接:https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/description/ 题目大意:将一个升序数组转换成平衡二叉排序树。 法一(借鉴):一看到平衡二叉,就懵了,以为是用平衡转换来做,直接看了题 阅读全文

posted @ 2017-11-01 08:51 二十年后20 阅读(166) 评论(0) 推荐(0)

20.Valid Parentheses
摘要:题目链接:https://leetcode.com/problems/valid-parentheses/description/ 题目大意:简单的括号 匹配问题。 法一:栈,代码如下(耗时 9ms): 1 public boolean isValid(String s) { 2 char[] st 阅读全文

posted @ 2017-10-31 08:57 二十年后20 阅读(145) 评论(0) 推荐(0)

67.Add Binary
摘要:题目链接:https://leetcode.com/problems/add-binary/description/ 题目大意:给出两个二进制数,输出其相加结果,结果仍用二进制表示。 法一:直接模拟大数加法,(http://www.cnblogs.com/cing/p/7747957.html这个题 阅读全文

posted @ 2017-10-30 20:20 二十年后20 阅读(161) 评论(0) 推荐(0)

52.N-Queens II
摘要:题目链接:https://leetcode.com/problems/n-queens-ii/description/ 题目大意:返回N皇后的所有解的个数。 法一:直接用51题的代码,只是返回值变成list.size()即可,代码如下(耗时9ms): 1 public int solveNQueen 阅读全文

posted @ 2017-10-29 11:49 二十年后20 阅读(154) 评论(0) 推荐(0)

51.N-Queens
摘要:题目链接:https://leetcode.com/problems/n-queens/description/ 题目大意:N皇后问题,返回所有解序列,存入list中返回。 法一:深搜回溯,这里最关键的是if条件判断皇后放置问题,代码如下(只有9个测试用例,耗时10ms): 1 public Lis 阅读全文

posted @ 2017-10-29 11:34 二十年后20 阅读(187) 评论(0) 推荐(0)

2.Add Two Numbers
摘要:题目链接:https://leetcode.com/problems/add-two-numbers/description/ 题目大意:给出两个单链表,表示两个数字,这两个数字中的每一位上的数字在单链表中都倒序存放,每个结点中都含有一个非负整数,计算这两个数字的和,要求倒序插入到单链表中并返回。例 阅读全文

posted @ 2017-10-28 20:41 二十年后20 阅读(151) 评论(0) 推荐(0)

70.Climbing Stairs
摘要:题目链接:https://leetcode.com/problems/climbing-stairs/description/ 题目大意:爬楼梯问题,一共花费n步爬到楼顶,一次可以爬一个台阶或两个台阶,求出一共有多少种方法可以爬到楼顶。 此题其实是裴波那挈数列问题。 法一:动规公式:fib[n] = 阅读全文

posted @ 2017-10-24 11:20 二十年后20 阅读(183) 评论(0) 推荐(0)

53.Maximum Subarray
摘要:题目链接:https://leetcode.com/problems/maximum-subarray/description/ 题目大意:给出一串数组,找出其最大连续子序列和,例子如下: 法一(超时):时间复杂度o(n^2),两层for循环,记录每一个数值后的连续序列的最大和,里层for循环记录当 阅读全文

posted @ 2017-10-23 21:07 二十年后20 阅读(167) 评论(0) 推荐(0)

123.Best Time to Buy and Sell Stock III---dp
摘要:题目链接:https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/description/ 题目大意:与122题类似,只是这里要求买卖次数只能有两次,计算两次总共的最大利润值。 法一(超时):计算某一天之前的最大利润值与某一 阅读全文

posted @ 2017-10-23 09:36 二十年后20 阅读(208) 评论(0) 推荐(0)

122.Best Time to Buy and Sell Stock II---dp
摘要:题目链接:https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/description/ 题目大意:基本定义与121类似,不同点:121买卖股票只能有一次,且在这所有的一次买卖中找出最大利润值;122买卖股票不限次数,要求在 阅读全文

posted @ 2017-10-22 15:59 二十年后20 阅读(204) 评论(0) 推荐(0)

121.Best Time to Buy and Sell Stock---dp
摘要:题目链接:https://leetcode.com/problems/best-time-to-buy-and-sell-stock/description/ 题目大意:给出一串数组,找到差值最大的差值是多少,要求只能用下标大的减下标小的,例子如下图: 法一(超时):直接两个for循环,进行一一比较 阅读全文

posted @ 2017-10-20 20:23 二十年后20 阅读(218) 评论(0) 推荐(0)

136.Single Number---异或、位运算
摘要:题目链接 题目大意:给出一串数组,里面的数都是两个,只有一个数是一个,把这个只有一个的数找出来。时间复杂度最好是线性的,空间复杂度最好为O(1). 法一:利用map,空间换时间,代码如下(耗时26ms): 1 public int singleNumber(int[] nums) { 2 Map<I 阅读全文

posted @ 2017-10-19 09:43 二十年后20 阅读(191) 评论(0) 推荐(0)

141.Linked List Cycle---双指针
摘要:题目链接 题目大意:给出一个链表,判断该链表是否有环,空间复杂度最好控制在o(1) 这个题没有给测试用例,导致没太明白题目意思,看了题解,用了两种方法示例如下: 法一(借鉴):利用两个指针,一个指针步长为2,一个指针步长为1,若链表中有环,则两个指针同时走,在某一时刻一定会走到一起;若链表中没有环, 阅读全文

posted @ 2017-10-18 15:39 二十年后20 阅读(246) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 下一页

导航