LeetCode
文章平均质量分 60
Liu Zhian
这个作者很懒,什么都没留下…
展开
-
LeetCode(2)—— 两数相加
其实很早之前就接触到了LeetCode,原来也刷过一些题,但是乱七八糟的事太多了也没空刷一刷,最近在家没事准备玩一玩了。好吧,我承认我python学的不好,一天速成的(OOP的python风格我都不太记得了),于是选择了用python,希望可以加强一下我的渣python。Okay,闲话不多说,今天写的也是一个比较简单的题目,LeetCode(2)——两数相加问题。题目内容描...原创 2018-07-29 22:13:55 · 187 阅读 · 0 评论 -
LeetCode(29)——两数相除
描述给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。示例 1:输入: dividend = 10, divisor = 3输出: 3示例 2:输入: dividend = 7, divisor = -3输出: -2说明:被除数和除数均为 32...原创 2019-03-13 22:02:17 · 165 阅读 · 0 评论 -
LeetCode(24)—— Swap Nodes in Pairs
题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.说明:- 你的算法只能使用常数的额外空间。- 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。坑点&思路一开始理解错了,也没仔细看题目,两两交换,那不就是直接像冒泡一样,那么结果就是最前一个...原创 2019-01-13 21:12:03 · 117 阅读 · 0 评论 -
LeetCode(22)—— 括号生成
题目描述给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]参考https://blog.csdn.net/yutianzuijin/article/details/13161721解法很...转载 2018-12-27 21:01:37 · 124 阅读 · 0 评论 -
LeetCode(18)—— 四数之和
真的是醉了,3数和搞定又来了个4数和,思路肯定就是把4数和转化为3数和问题。本来呢,我还想利用3数和中类似的一个技巧,快速break掉的,可是老是有重复结果,折磨死我了。。。算了,就直接这样吧。主要思路:4转3,3转2双指针FourSumimport java.util.*;public class FourSum18 { public List<List<I...原创 2018-12-16 23:54:34 · 168 阅读 · 0 评论 -
LeetCode(17)—— 电话号码的字母组合
题目描述给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]说明:尽管上面的原创 2018-12-16 15:19:14 · 183 阅读 · 0 评论 -
LeetCode(16)—— 最接近的三数之和
没什么好说的,这就是三数之和的变种。先排序再确定一个数,用双指针移动两个数,比较diff和当前diff值即可。import java.util.Arrays;public class ThreeSumClosest16 { /*** * 三数之和的变种,先排序,指定一个值后,再用双指针 * */ public int threeSumC...原创 2018-12-16 13:45:38 · 166 阅读 · 0 评论 -
LeetCode(14)—— 最长公共前缀
描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明所有输入只包含小写字母原创 2018-09-13 18:40:46 · 193 阅读 · 0 评论 -
LeetCode(12&13)—— 整数与罗马数字相互转化
描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个...原创 2018-08-21 11:25:56 · 147 阅读 · 0 评论 -
LeetCode(9)—— 回文数
描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一...原创 2018-08-21 09:59:44 · 153 阅读 · 0 评论 -
LeetCode(8)—— 字符串转整数 (atoi)
题目内容描述实现 atoi,将字符串转为整数。在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。...原创 2018-08-19 11:10:49 · 172 阅读 · 0 评论 -
LeetCode(6)—— Z字形变换
题目内容描述将字符串 "PAYPALISHIRING"以Z字形排列成给定的行数:P A H NA P L S I I GY I R之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR"实现一个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例:示例1输...原创 2018-08-18 19:40:27 · 190 阅读 · 0 评论 -
LeetCode(4)—— 两个排序数组的中位数
题目内容描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。你可以假设 nums1 和 nums2 均不为空。示例:示例1nums1 = [1, 3]nums2 = [2]中位数是 2.0示例2nums1 = [1, 2]nums2...原创 2018-08-02 18:33:07 · 178 阅读 · 0 评论 -
LeetCode(5)—— 最长回文子串
题目内容描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例:示例1输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。示例2输入: "cbbd"输出: "bb"解法1 —— 暴力法我觉得这应该是最开始的想法吧,简单粗暴,两个指针把所有可能的子串都定出来,然后写个判断是否是回...原创 2018-08-04 18:46:26 · 224 阅读 · 0 评论 -
LeetCode(3)——最长不重复子串
题目内容描述给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。给定 “pwwkew” ,最长子串是 “wke” ,长度是3。请注意答案必须是一个子串,”pwke” 是 子序列 而不是子串。思路 1——...原创 2018-07-30 13:57:05 · 27022 阅读 · 4 评论 -
Leetcode30——串联所有单词的子串
题目给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。 示例 1:输入: s = "barfoothefoobarman...原创 2019-05-15 20:36:29 · 1041 阅读 · 0 评论