LeetCode算法题集
会飞的鱼fly
这个作者很懒,什么都没留下…
展开
-
1.两数之和
题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。python代码:class Solution: def twoSum(self, nums, target): """ :type nu...原创 2019-07-30 23:47:32 · 46 阅读 · 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 · 182 阅读 · 0 评论 -
16.合并两个有序链表
题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4python代码:# Definition for singly-linked list.# class ListNode:# de...原创 2019-08-12 21:00:08 · 53 阅读 · 0 评论 -
15.有效的括号
题目描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。-示例:输入: "()[]{}"输出: truepython代码:思路:使用 ’栈‘ 先进后出 的思想匹配括号。class Solution: ...原创 2019-08-12 20:01:38 · 70 阅读 · 0 评论 -
【LeetCode 32】最长有效括号
题目描述:给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"python代码:注意是字串(非子序列)。思路1:暴力解法。列举所有的 非0 偶数子串,判断字串是否是有效的,从中找出最长的有效括号子串。class Solution: def longest...原创 2019-08-15 23:34:14 · 123 阅读 · 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 · 71 阅读 · 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 · 106 阅读 · 0 评论 -
12.电话号码的字母组合
题目描述:link.给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].python代码:思路:借助递归使用回溯的思想穷举所有的字母组合。def ...原创 2019-08-10 12:34:54 · 94 阅读 · 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 · 89 阅读 · 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 · 115 阅读 · 0 评论 -
9.最长公共前缀
题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例:输入: ["flower","flow","flight"] 输出: "fl"python代码:思路:首先找到长度最短的字符串索引,然后判断各个字符串对应字符是否相同。class Solution: def longestCommonPrefix(self, s...原创 2019-08-08 23:19:24 · 48 阅读 · 0 评论 -
8.罗马数字转整数
题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000给定一个罗马数字,将其转换成整数。输入确...原创 2019-08-08 22:46:44 · 91 阅读 · 0 评论 -
7.整数转罗马数字
题目描述: link.罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马...原创 2019-08-08 20:47:11 · 205 阅读 · 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]输出: 49python代码:...原创 2019-08-08 18:49:57 · 92 阅读 · 0 评论 -
5. 字符串转换整数(atoi)
问题描述:请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这...原创 2019-08-01 18:34:10 · 75 阅读 · 0 评论 -
4.无重复字符的最长子串
题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例:输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。python代码:def lengthOfLongestSubstring(s): """ :type...原创 2019-08-01 18:28:08 · 111 阅读 · 0 评论 -
3. Z字形变换
问题描述:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。示例:输入: s = “LEETCODEISHIRING”, numRows = 4 输出: “LDREOEIIECIHNTSG”解释:L D RE O E I IE C I H NT S Gpython代码:代码1:利用行数循环规律,...原创 2019-08-01 16:51:43 · 68 阅读 · 0 评论 -
2.两数相加
题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 ...原创 2019-07-31 10:10:46 · 59 阅读 · 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 · 68 阅读 · 0 评论