自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode做题日记:17. 电话号码的字母组合(PYTHON)

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。简单的递归,若s空,返回[],若s只有1位...

2019-07-10 17:21:20 410

原创 Leetcode做题日记:16. 最接近的三数之和(PYTHON)

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).依然是双指针迭代,注意返回的是和,不是绝对值的...

2019-07-10 16:54:23 173

原创 Leetcode做题日记:15. 三数之和(PYTHON)

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]首先先排序,然后,开始找第一个数,即r...

2019-07-09 15:40:54 198

原创 Leetcode做题日记:9. 回文数(PYTHON)

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:你能不将...

2019-07-08 14:08:27 170

原创 Leetcode做题日记:8. 字符串转换整数 (atoi)(PYTHON)

请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽...

2019-07-08 10:26:47 115

原创 Leetcode做题日记:5. 最长回文子串(PYTHON)

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”滑动窗口,遍历一遍s,从每个i处开始左右判断,若i+1和i相同,则将i和i+1合并为基字符串 c='' i=0 i...

2019-07-06 16:36:51 169

原创 Leetcode做题日记:122. 买卖股票的最佳时机 II(PYTHON)

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获...

2019-06-22 14:57:36 154

原创 Leetcode做题日记:121. 买卖股票的最佳时机(PYTHON)

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。...

2019-06-21 16:36:14 156

原创 Leetcode做题日记:3. 无重复字符的最长子串(PYTHON)

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

2019-06-20 10:24:31 100

原创 Leetcode做题日记:120. 三角形最小路径和(PYTHON)

给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。第一次的代码:暴力递归,计算所有可能然后...

2019-06-19 16:42:19 357

原创 Leetcode做题日记:119. 杨辉三角 II(PYTHON)

给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。示例:输入: 3输出: [1,3,3,1]进阶:你可以优化你的算法到 O(k) 空间复杂度吗?

2019-06-19 13:49:15 108

原创 Leetcode做题日记:118. 杨辉三角(PYTHON)

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]...

2019-06-18 13:54:14 151

原创 Leetcode做题日记:117. 填充每个节点的下一个右侧节点指针 II(PYTHON)

给定一个二叉树struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。示例:输入:{“KaTeX parse error: Expected '...

2019-06-17 09:37:39 334

原创 Leetcode做题日记:116. 填充每个节点的下一个右侧节点指针(PYTHON)

给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。示...

2019-05-31 16:08:06 157

原创 Leetcode做题日记:115. 不同的子序列(PYTHON)

暂时没做

2019-05-31 15:28:33 130

原创 Leetcode做题日记:114. 二叉树展开为链表(PYTHON)

给定一个二叉树,原地将它展开为链表。例如,给定二叉树1/ 2 5/ \ 3 4 6将其展开为:123456第一次的代码:递归求解将递归左树r1设置为r的新右树,循环到新右树的叶节点,再设置该叶节点的右树为递归右树r2。 def c(r): m=r#设置副本m if not r: ...

2019-05-31 15:17:36 219

原创 Leetcode做题日记:113. 路径总和 II(PYTHON)

给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:...

2019-05-31 12:06:37 243

原创 Leetcode做题日记:112. 路径总和(PYTHON)

给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 ...

2019-05-31 10:59:40 115

原创 Leetcode做题日记:111. 二叉树的最小深度(PYTHON)

给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最小深度 2.第一次的代码:注意,[1,2]的深度是2,也就是必须要有叶节点,计算叶节点到root的最小深度。叶子left和right都是...

2019-05-30 20:15:13 199

原创 Leetcode做题日记:110. 平衡二叉树(PYTHON)

给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7]3/ 9 20/ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 1 / \ 2 2/ ...

2019-05-30 18:55:25 235

原创 Leetcode做题日记:109. 有序链表转换二叉搜索树(PYTHON)

给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \-3 9/ /-10 5...

2019-05-30 18:38:47 369

原创 Leetcode做题日记:108. Convert Sorted Array to Binary Search Tree(PYTHON)

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the ...

2019-05-28 11:37:02 125

原创 Leetcode做题日记:107. Binary Tree Level Order Traversal II(PYTHON)

Given a binary tree, return the bottom-up level order traversal of its nodes’ values. (ie, from left to right, level by level from leaf to root).For example:Given binary tree [3,9,20,null,null,15,7]...

2019-05-28 11:08:57 165

原创 Leetcode做题日记:106. Construct Binary Tree from Inorder and Postorder Traversal(PYTHON)

Given inorder and postorder traversal of a tree, construct the binary tree.Note:You may assume that duplicates do not exist in the tree.For example, giveninorder = [9,3,15,20,7]postorder = [9,15,...

2019-05-28 11:07:15 159

原创 Leetcode做题日记:105. Construct Binary Tree from Preorder and Inorder Traversal(PYTHON)

Given preorder and inorder traversal of a tree, construct the binary tree.Note:You may assume that duplicates do not exist in the tree.For example, givenpreorder = [3,9,20,15,7]inorder = [9,3,15,...

2019-05-28 11:04:42 107

原创 Leetcode做题日记:104. Maximum Depth of Binary Tree(PYTHON)

Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.Note: A leaf is a node with no children....

2019-05-28 11:03:19 106

原创 Leetcode做题日记:103. 二叉树的锯齿形层次遍历(PYTHON)

给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回锯齿形层次遍历如下:[[3],[20,9],[15,7]]第一次的代码:在上一题的基础上添加一些代码就成,既然是锯齿形,则和我们选择左树还是右树...

2019-05-27 19:20:14 226

原创 Leetcode做题日记:102. 二叉树的层次遍历(PYTHON)

给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回其层次遍历结果:[[3],[9,20],[15,7]]第一次的代码:广度优先搜索,tr代表下一层的节点,当下一层节点空时,结束while循环,tv代表当前层的节点的值,即上一层所记录...

2019-05-27 18:36:54 373

原创 Leetcode做题日记:101. 对称二叉树(PYTHON)

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ 2 2/ \ / 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ 2 2\ 3 3说明:如果你可以运用递归和迭代两种方法解决这个问题,会很加分。第一次的代码:递归: def n(p,q):...

2019-05-27 13:25:17 172

原创 Leetcode做题日记:100. 相同的树(PYTHON)

给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1/ \ / 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1/ 2 ...

2019-05-27 11:05:31 110

原创 Leetcode做题日记:99. 恢复二叉搜索树(PYTHON)

二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例 1:输入: [1,3,null,null,2]1/32输出: [3,1,null,null,2]3/12示例 2:输入: [3,1,4,null,null,2]3/ 1 4/2输出: [2,1,4,null,null,3]2/ 1 4/3进阶:使用 O(...

2019-05-27 11:02:55 396

原创 Leetcode做题日记:98. 验证二叉搜索树(PYTHON)

给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:2/ 1 3输出: true示例 2:输入:5/ 1 4/ 3 6输出: false解释: 输入为: [5,1,4,null,null,...

2019-05-26 11:09:56 152

原创 Leetcode做题日记:97. 交错字符串(PYTHON)

给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。示例 1:输入: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbcbcac”输出: true示例 2:输入: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbbaccc...

2019-05-24 11:03:33 238

原创 Leetcode做题日记:96. 不同的二叉搜索树(PYTHON)

给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树:1 3 3 2 1\ / / / \ 3 2 1 1 3 2/ ...

2019-05-22 16:05:52 142

原创 Leetcode做题日记:95. 不同的二叉搜索树 II(PYTHON)

给定一个整数 n,生成所有由 1 … n 为节点所组成的二叉搜索树。示例:输入: 3输出:[  [1,null,3,2],  [3,2,null,1],  [3,1,null,null,2],  [2,1,3],  [1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树:1 ...

2019-04-09 20:04:19 298

原创 Leetcode做题日记:94. 二叉树的中序遍历(PYTHON)

给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3]12/3输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗?第一次的代码:递归,直接返回左+中+右,当到达最左叶子时,它就是作为第一个root开始返回 def twomid(tree): if tree==None: retu...

2019-03-18 13:53:21 2083

原创 Leetcode做题日记:93. 复原IP地址(PYTHON)

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: “25525511135”输出: [“255.255.11.135”, “255.255.111.35”]第一次的代码:所谓正确的ip地址格式,就是X.X.X.X,4段,每一段都得小于255,但不能随便分,因为可能会导致后面的X大于255.回溯,每次取1-3个字母,判断若小于255,则继续递归,完毕后,p...

2019-03-17 16:18:56 1361

原创 Leetcode做题日记:92. 反转链表 II(PYTHON)

反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL第一次的代码:首先找到m的位置,以及n的位置,用列表c储存m到n区间的值,然后再将c区间的值反向添加到链...

2019-03-16 11:46:09 390

原创 Leetcode做题日记:91. 解码方法(PYTHON)

一条包含字母 A-Z 的消息通过以下方式进行了编码:‘A’ -> 1‘B’ -> 2…‘Z’ -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: “12”输出: 2解释: 它可以解码为 “AB”(1 2)或者 “L”(12)。示例 2:输入: “226”输出: 3解释: 它可以解码为 “BZ” (2 26), “VF” (2...

2019-03-16 11:13:20 343

原创 Leetcode做题日记:90. 子集 II(PYTHON)

给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[[2],[1],[1,2,2],[2,2],[1,2],[]]...

2019-03-14 15:50:20 236

空空如也

空空如也

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

TA关注的人

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