![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode算法题集
会飞的鱼fly
这个作者很懒,什么都没留下…
展开
-
1.两数之和
题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 python代码: class Solution: def twoSum(self, nums, target): """ :type nu...原创 2019-07-30 23:47:32 · 54 阅读 · 0 评论 -
【LeetCode 93】复原IP地址
题目描述: 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 示例: 输入: "25525511135" 输出: ["255.255.11.135", "255.255.111.35"] python代码:回溯算法 思路:三个点分开的四个数字在 [0,255][0, 255][0,255] 之间,注意 ‘012’ 是无效的数字,以 0 开头的只有 ‘0’ 是有效的。 对...原创 2019-08-16 22:31:39 · 212 阅读 · 0 评论 -
16.合并两个有序链表
题目描述: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 python代码: # Definition for singly-linked list. # class ListNode: # de...原创 2019-08-12 21:00:08 · 61 阅读 · 0 评论 -
15.有效的括号
题目描述: 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 -示例: 输入: "()[]{}" 输出: true python代码: 思路:使用 ’栈‘ 先进后出 的思想匹配括号。 class Solution: ...原创 2019-08-12 20:01:38 · 81 阅读 · 0 评论 -
【LeetCode 32】最长有效括号
题目描述: 给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。 示例: 输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()" python代码: 注意是字串(非子序列)。 思路1:暴力解法。列举所有的 非0 偶数子串,判断字串是否是有效的,从中找出最长的有效括号子串。 class Solution: def longest...原创 2019-08-15 23:34:14 · 148 阅读 · 0 评论 -
14.删除链表的倒数第N个节点
题目描述:link. 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 说明:给定的 n 保证是有效的。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. python代码: -思路1:先求出链表长度,通过链表长度和n得到删除节点位置,再去删除节点【...原创 2019-08-11 21:30:48 · 77 阅读 · 0 评论 -
13.四数之和
题目描述:link. 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意:答案中不可以包含重复的四元组。 示例: 给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。 满足要...原创 2019-08-11 20:33:28 · 117 阅读 · 0 评论 -
12.电话号码的字母组合
题目描述:link. 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. python代码: 思路:借助递归使用回溯的思想穷举所有的字母组合。 def ...原创 2019-08-10 12:34:54 · 105 阅读 · 0 评论 -
11.最接近的三数之和
题目描述: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 示例: 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2). python代码:...原创 2019-08-09 16:51:39 · 107 阅读 · 0 评论 -
10.三数之和
题目描述: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例: 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ] p...原创 2019-08-09 12:58:26 · 127 阅读 · 0 评论 -
9.最长公共前缀
题目描述: 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例: 输入: ["flower","flow","flight"] 输出: "fl" python代码: 思路:首先找到长度最短的字符串索引,然后判断各个字符串对应字符是否相同。 class Solution: def longestCommonPrefix(self, s...原创 2019-08-08 23:19:24 · 60 阅读 · 0 评论 -
8.罗马数字转整数
题目描述: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 给定一个罗马数字,将其转换成整数。输入确...原创 2019-08-08 22:46:44 · 101 阅读 · 0 评论 -
7.整数转罗马数字
题目描述: link. 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马...原创 2019-08-08 20:47:11 · 235 阅读 · 0 评论 -
6.盛最多水的容器
题目描述: 给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:不能倾斜容器,且 n 的值至少为 2。 示例: 输入: [1,8,6,2,5,4,8,3,7] 输出: 49 python代码:...原创 2019-08-08 18:49:57 · 103 阅读 · 0 评论 -
5. 字符串转换整数(atoi)
问题描述: 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这...原创 2019-08-01 18:34:10 · 84 阅读 · 0 评论 -
4.无重复字符的最长子串
题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。 python代码: def lengthOfLongestSubstring(s): """ :type...原创 2019-08-01 18:28:08 · 118 阅读 · 0 评论 -
3. Z字形变换
问题描述: 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 示例: 输入: s = “LEETCODEISHIRING”, numRows = 4 输出: “LDREOEIIECIHNTSG” 解释: L D R E O E I I E C I H N T S G python代码: 代码1:利用行数循环规律,...原创 2019-08-01 16:51:43 · 84 阅读 · 0 评论 -
2.两数相加
题目描述: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 ...原创 2019-07-31 10:10:46 · 67 阅读 · 0 评论 -
【LeetCode 131】分割回文串
题目描述: 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ] python代码1: class Solution: def partition(self, s: str) -> List[List[str]]: ...原创 2019-08-17 17:11:17 · 78 阅读 · 0 评论