
Leetcode
15wylu
小学生程序员
展开
-
LeetCode 71. Simplify Path
Descriptionhttps://leetcode.com/problems/simplify-path/给定一个Unix风格的绝对路径,简化之Solving Ideas栈的应用遇到./,忽略遇到../,出栈遇到文件名(如.a,b,'abc’等等,其中以.为开头的为隐藏文件),入栈时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)Solution...原创 2019-03-11 20:35:08 · 123 阅读 · 0 评论 -
LeetCode 70. Climbing Stairs
Descriptionhttps://leetcode.com/problems/climbing-stairs/爬楼梯,每次只能爬1步或2步,问到台阶n有多少种爬法Solving Ideas斐波那契时间复杂度:O(n)O(n)O(n)空间复杂度:O(1)O(1)O(1)Solutionclass Solution { public int climbStairs(int ...原创 2019-01-14 15:09:09 · 153 阅读 · 0 评论 -
LeetCode 66. Plus One
Descriptionhttps://leetcode.com/problems/plus-one/给定表示非负整数的非空数字数组,返回加上1的结果的数组表示。Solving Ideas时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)Solutionclass Solution { public int[] plusOne(int[] digits) ...原创 2019-01-14 14:53:46 · 109 阅读 · 0 评论 -
LeetCode 69. Sqrt(x)
Descriptionhttps://leetcode.com/problems/sqrtx/实现函数int sqrt(int x)Solving Ideas二分查找时间复杂度:O(log(x))O(log(x))O(log(x))空间复杂度:O(1)O(1)O(1)Solutionclass Solution { public int mySqrt(int x) { ...原创 2019-01-14 14:08:38 · 130 阅读 · 0 评论 -
LeetCoe 56. Merge Intervals
Descriptionhttps://leetcode.com/problems/merge-intervals/合并区间Solving Ideashttps://leetcode.com/problems/merge-intervals/solution/按区间下限的大小对区间进行排序,然后再对区间进行合并时间复杂度:O(nlog(n))O(nlog(n))O(nlog(n))空间...原创 2019-01-14 13:21:11 · 140 阅读 · 0 评论 -
LeetCode 53. Maximum Subarray
Descriptionhttps://leetcode.com/problems/maximum-subarray/求连续子数组的最大和Solving Ideas动态规划:State:dp[i]: 以a[i]为结尾的子数组的最大和Initial State:dp[0] = a[0]State Transition:dp[i] = max(a[i], dp[i - 1] +...原创 2019-01-14 11:28:06 · 122 阅读 · 0 评论 -
74. Search a 2D Matrix
Descriptionhttps://leetcode.com/problems/search-a-2d-matrix/在一个二维矩阵中,查找某个元素是否存在。矩阵每行从小到大排列矩阵每列从小到大排列Solving Ideas把矩阵看作一维的已排序的数组,使用 二分查找算法 进行搜索。时间复杂度:O(log(mn))O(log(mn))O(log(mn))空间复杂度:O(1)O...原创 2019-01-12 13:37:27 · 168 阅读 · 0 评论 -
6. ZigZag Conversion
Descriptionhttps://leetcode.com/problems/zigzag-conversion/Solving Ideashttps://leetcode.com/problems/zigzag-conversion/solution/遍历字符串,可以轻松确定每个字符所属的ZigZag模式中的哪一行。使用min(numRows, s.length())确定ZigZ...原创 2019-01-02 12:02:22 · 203 阅读 · 0 评论 -
LeetCode 72. Edit Distance
Descriptionhttps://leetcode.com/problems/edit-distance/给定两个单词word1和word2,找到将word1转换为word2所需的最小操作次数。每次允许的操作:插入、删除、修改一个字母Solving Ideashttps://www.youtube.com/watch?v=We3YDTzNXEk动态规划:State:dp[i][j...原创 2019-01-06 17:44:36 · 146 阅读 · 0 评论 -
64. Minimum Path Sum
Descriptionhttps://leetcode.com/problems/minimum-path-sum/给定一个m∗nm*nm∗n的矩阵grid,矩阵所有元素都为非负整数,求从矩阵左上角到右下角的最短路径和,移动方向只能向右或向下Solving Ideashttps://blog.youkuaiyun.com/qq_32767041/article/details/85928140动态规...原创 2019-01-06 15:48:43 · 221 阅读 · 0 评论 -
63. Unique Paths II
Descriptionhttps://leetcode.com/problems/unique-paths-ii/Solving Ideashttps://leetcode.com/problems/unique-paths-ii/solution/动态规划:State:dp[i][j]: 从grid[0][0]到grid[i][j]的路径数State Transition:dp...原创 2019-01-06 15:22:36 · 126 阅读 · 0 评论 -
62. Unique Paths
Descriptionhttps://leetcode.com/problems/unique-paths/Solving Ideashttps://www.youtube.com/watch?v=GO5QHC_BmvM动态规划:dp[i][j]: 从grid[0][0]到grid[i][j]的路径数dp[0][j] = 1,dp[i][0] = 1dp[i][j] = dp[i ...原创 2019-01-06 14:40:34 · 138 阅读 · 0 评论 -
32. Longest Valid Parentheses
Descriptionhttps://leetcode.com/problems/longest-valid-parentheses/Solving Ideashttps://leetcode.com/problems/longest-valid-parentheses/solution/动态规划:dp[i]: 以第 i 个元素为结尾的最长有效子串的长度if s[i] = ‘)’ ...原创 2019-01-06 14:14:40 · 246 阅读 · 0 评论 -
LeetCode 67. Add Binary
Descriptionhttps://leetcode.com/problems/add-binary/二进制字符串表示求和Solving Ideas时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)Solutionclass Solution { public String addBinary(String a, String b) { ...原创 2019-01-14 15:26:09 · 124 阅读 · 0 评论 -
LeetCode 95. Unique Binary Search Trees II
Descriptionhttps://leetcode.com/problems/unique-binary-search-trees-ii/给定n,生成所有结构上唯一的二叉搜索树,并返回所有这些树的root。Solving Ideas与Unique Binary Search Trees类似,不同的是,这里需要构造出所有结构上唯一的BST实现起来比较简单就是使用 递归 的方法,遍历所有...原创 2019-01-14 16:26:27 · 246 阅读 · 0 评论 -
LeetCode 149. Max Points on a Line
Descriptionhttps://leetcode.com/problems/max-points-on-a-line/给定平面内n个点,求同一直线上的点的最大个数。Solving Ideashttps://blog.youkuaiyun.com/qq_32767041/article/details/88386459https://leetcode.com/problems/max-point...原创 2019-03-11 15:35:30 · 221 阅读 · 0 评论 -
LeetCode 96. Unique Binary Search Trees
Descriptionhttps://leetcode.com/problems/unique-binary-search-trees/给定n,求结构上唯一的二叉搜索树的总数。Solving Ideashttps://www.youtube.com/watch?v=YDf982Lb84o动态规划:State:dp[i]: 表示i个结点所能构造出结构上唯一的二叉搜索树的总数。如:dp...原创 2019-01-09 23:23:52 · 311 阅读 · 0 评论 -
965. Univalued Binary Tree
Descriptionhttps://leetcode.com/problems/univalued-binary-tree/给定一颗二叉树,当树所有结点的值都相同是,该树是univalued的。当且仅当给定的树为univalued时返回trueSolving Ideashttps://leetcode.com/problems/univalued-binary-tree/solution...原创 2019-01-09 21:13:01 · 181 阅读 · 0 评论 -
345. Reverse Vowels of a String
Descriptionhttps://leetcode.com/problems/reverse-vowels-of-a-string/给定一个字符串,反转其中的元音字符序列。Input: "leetcode"Output: "leotcede"Solving Ideas时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)Solutionclass Solu...原创 2019-01-09 17:03:06 · 143 阅读 · 0 评论 -
557. Reverse Words in a String III
Descriptionhttps://leetcode.com/problems/reverse-words-in-a-string-iii/给定一个字符串,反转每个单词中的字符顺序,同时保留空格和初始单词顺序。Input: "Let's take LeetCode contest"Output: "s'teL ekat edoCteeL tsetnoc"Solving Ideas时...原创 2019-01-09 16:30:34 · 138 阅读 · 0 评论 -
87. Scramble String
Descriptionhttps://leetcode.com/problems/scramble-string/给定两个字符串s1,s2,判断s2是否为s1的Scramble StringSolving Ideashttps://leetcode.com/problems/scramble-string/discuss/29387/Accepted-Java-solution递归遍历全...原创 2019-01-09 20:29:58 · 158 阅读 · 0 评论 -
151. Reverse Words in a String
Descriptionhttps://leetcode.com/problems/reverse-words-in-a-string/给定一个字符串,按单词反转。要求忽略前导、尾部空格,单词间的多余空格保留一个。Input: "the sky is blue",Output: "blue is sky the".Solving Ideas类似 《剑指offer》 翻转单词顺序,不同的...原创 2019-01-09 15:47:36 · 310 阅读 · 0 评论 -
541. Reverse String II
Descriptionhttps://leetcode.com/problems/reverse-string-ii/给定一个字符串和一个整数k,需要反转从字符串开头算起的每2k个字符的前k个字符。如果剩下少于k个字符,则反转所有字符;如果小于2k但大于或等于k个字符,则反转前k个字符。Solving Ideashttps://leetcode.com/problems/reverse...原创 2019-01-09 14:31:27 · 148 阅读 · 0 评论 -
344. Reverse String
Descriptionhttps://leetcode.com/problems/reverse-string/字符串反转Solving Ideas时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)Solutionclass Solution { public String reverseString(String s) {// retu...原创 2019-01-09 13:50:06 · 134 阅读 · 1 评论 -
92. Reverse Linked List II
Descriptionhttps://leetcode.com/problems/reverse-linked-list-ii/将链表第m个结点至第n个结点的部分反转,要求只扫描一遍链表Input: 1->2->3->4->5->NULL, m = 2, n = 4Output: 1->4->3->2->5->NULLSolv...原创 2019-01-09 13:31:22 · 120 阅读 · 0 评论 -
206. Reverse Linked List
Descriptionhttps://leetcode.com/problems/reverse-linked-list/反转单向链表Solving Ideashttps://leetcode.com/problems/reverse-linked-list/solution/时间复杂度:O(n)O(n)O(n)空间复杂度:O(1)O(1)O(1)Solution/** * De...原创 2019-01-08 23:10:58 · 123 阅读 · 0 评论 -
LeetCode 292. Nim Game
Descriptionhttps://leetcode.com/problems/nim-game/有一堆石子,两个玩家,玩家轮流从石堆中取出至少一个石子,至多全部石子,当轮到某个玩家而此时玩家没有石子可以取时,则判定为负。你为先手的情况下,判断你的胜负,默认玩家均会选择最优策略。Solving Ideashttps://leetcode.com/problems/nim-game/so...原创 2019-01-24 15:37:06 · 187 阅读 · 0 评论 -
8. String to Integer (atoi)
Descriptionhttps://leetcode.com/problems/string-to-integer-atoi/题意:实现一个将字符串转换为整数的函数。Solving Ideas详见注释Solutionclass Solution { public int myAtoi(String str) { if (str == null) return...原创 2019-01-01 16:56:05 · 129 阅读 · 0 评论 -
516. Longest Palindromic Subsequence
Descriptionhttps://leetcode.com/problems/longest-palindromic-subsequence/题意:给定一个字符串,寻找最长回文子序列,返回其长度。Solving Ideashttps://www.youtube.com/watch?v=_nCsPn7_OgI&t=57s动态规划:dp[i][j]: s.substring...原创 2018-12-31 23:31:04 · 252 阅读 · 0 评论 -
5. Longest Palindromic Substring
Descriptionhttps://leetcode.com/problems/longest-palindromic-substring/题意:给定一个字符串,寻找最长回文子串,返回其长度。Solving Ideashttps://leetcode.com/problems/longest-palindromic-substring/solution/若任意一个回文的中心设为C,则...原创 2018-12-31 17:14:09 · 135 阅读 · 0 评论 -
260. Single Number III
Descriptionhttps://leetcode.com/problems/single-number-iii/题目大意:给定一个数组,所有元素都出现两次,除了两个元素只出现一次,找出这两个只出现一次的元素。要求时间复杂度O(n),空间复杂度O(1)。Solving Ideashttps://blog.youkuaiyun.com/qq_32767041/article/details/838...原创 2018-12-27 18:55:37 · 122 阅读 · 0 评论 -
137. Single Number II
Descriptionhttps://leetcode.com/problems/single-number-ii/题目大意:给定一个数组,所有元素都出现三次,除了一个元素只出现一次,找出这个只出现一次的元素。要求时间复杂度O(n),空间复杂度O(1)。Solving Ideashttps://leetcode.com/problems/single-number-ii/discuss/...原创 2018-12-27 16:48:29 · 157 阅读 · 0 评论 -
136. Single Number
Descriptionhttps://leetcode.com/problems/single-number/题目大意:给定一个非空的整数数组,数组中除了一个数字外,其它数字都出现了两次,要求在线性时间、无额外辅助空间的条件下找出这个只出现了一次的数字。Solving Ideas位运算0^a=aa^a=0根据位运算的特点,可以知道,当我们对数组元素依次进行异或运算后,所有出现偶...原创 2018-12-27 14:52:48 · 123 阅读 · 0 评论 -
138. Copy List with Random Pointer
Descriptionhttps://leetcode.com/problems/copy-list-with-random-pointer/题目大意:复制链表,链表结点有一个random指针指向任意一个链表结点或者为null。Solving Ideas参考剑指offer 复杂链表的复制Solution/** * Definition for singly-linked list...原创 2018-12-26 23:29:31 · 132 阅读 · 0 评论 -
140. Word Break II
Descriptionhttps://leetcode.com/problems/word-break-ii/题目大意:给定一个字符串s,和一个词典,找出s被分割成一个或多个字典单词的空格分隔的所有可能结果。Solving IdeasDFS+动态规划相比于分治法,动态规划对于相同的子问题只会求解一次,通过存储子问题的解能够减少重复求解相同子问题所花的时间。这里使用一个map来保存子串可...原创 2018-12-26 22:29:21 · 205 阅读 · 0 评论 -
141. Linked List Cycle
Descriptionttps://leetcode.com/problems/linked-list-cycle/题目大意:判断单链表是否含有环Solving Ideas使用快慢两个指针判断链表是否含有环,如果两指针相遇即有环Solutionclass Solution { public boolean hasCycle(ListNode head){ if (...原创 2018-11-23 23:17:23 · 112 阅读 · 0 评论 -
142. Linked List Cycle II
Descriptionhttps://leetcode.com/problems/reorder-list/题目大意:找到单向链表中环的入口结点Solving Ideas使用快慢两个指针判断链表是否含有环如果有环,则统计环中的结点数目接着使指针p2从头开始,先走结点数目的步数,然后p1从头开始与p2一起前进直至p1==p2更详细的说明请移步链表中环的入口结点Solutionc...原创 2018-11-23 22:33:19 · 154 阅读 · 0 评论 -
143. Reorder List
Descriptionhttps://leetcode.com/problems/reorder-list/Solving Ideas使用快慢两个指针找到中间结点接着从中间结点处拆分链表,反转中间结点之后的链表最后合并两个链表Solutionclass Solution { public void reorderList(ListNode head) { ...原创 2018-11-08 18:40:48 · 110 阅读 · 0 评论 -
144. Binary Tree Preorder Traversal
Descriptionhttps://leetcode.com/problems/binary-tree-preorder-traversal/Solving Ideas前序遍历Solution递归import java.util.*;class Solution { private void preorderCore(TreeNode root, List<Integ...原创 2018-11-08 15:29:25 · 130 阅读 · 0 评论 -
145. Binary Tree Postorder Traversal
Descriptionhttps://leetcode.com/problems/binary-tree-postorder-traversalSolving Ideas后序遍历Solution递归import java.util.*;class Solution { private void travelCore(TreeNode root, List<Integer...原创 2018-11-08 15:10:44 · 119 阅读 · 0 评论