
LeetCode
有人_295
学习使人进步
展开
-
LeetCode串联所有单词的子串——C
一、题解通过把所有单词以不同方式组合,在字符串中找到一样的,并返回子串的起始位置。1、暴力查找法通过拼凑出所有单词组合,然后在字符串中利用 KMP 算法,往后依次查找,找到一样的返回下标。int matchSubstr(char* s, char** words, int* wordsNum, int wordsSize) { int i = 0; int strlength = st...原创 2019-12-06 00:16:31 · 465 阅读 · 0 评论 -
LeetCode两数相除——C
一、题解其实最难的就是边界处理,至于除法就是通过移位和减法实现。采用的是右移,所以需要转换成正数。int divide(int dividend, int divisor) { int res = 0; bool flag = (dividend ^ divisor) < 0; //判断符号是否相同,相同为0,不同为1(二进制异或) if (divisor == 1) { ...转载 2019-12-05 23:34:21 · 278 阅读 · 0 评论 -
LeetCode实现 strStr()——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/implement-strstr一、题目描述实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystac...转载 2019-12-05 21:21:53 · 493 阅读 · 0 评论 -
LeetCode移除元素——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-element一、题目描述给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度...转载 2019-12-05 21:06:47 · 168 阅读 · 0 评论 -
LeetCode删除排序数组中的重复项——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array一、题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数...转载 2019-12-05 21:02:22 · 185 阅读 · 0 评论 -
LeetCodeK 个一组翻转链表——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-nodes-in-k-group一、题目描述给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例 :给定这个链表:1->2->...转载 2019-11-24 14:18:21 · 414 阅读 · 0 评论 -
LeetCode两两交换链表中的节点——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs一、题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.二、题...转载 2019-11-24 12:59:33 · 401 阅读 · 0 评论 -
LeetCode括号生成——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/generate-parentheses一、题目描述给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()...转载 2019-11-20 00:23:10 · 575 阅读 · 0 评论 -
LeetCdoe合并两个有序链表——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-lists一、题目描述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4...转载 2019-11-20 00:07:39 · 235 阅读 · 0 评论 -
LeetCode合并K个排序链表——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-k-sorted-lists一、题目描述合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->...转载 2019-11-19 23:48:07 · 168 阅读 · 0 评论 -
LeetCode最接近的三数之和——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum-closest题目描述给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target...原创 2019-08-18 14:18:55 · 420 阅读 · 0 评论 -
LeetCode三数之和——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum题目描述给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4]...原创 2019-08-18 00:18:30 · 2105 阅读 · 4 评论 -
LeeCode有效的括号——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-parentheses题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”...原创 2019-08-21 22:59:28 · 181 阅读 · 0 评论 -
LeetCode删除链表的倒数第N个节点——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list题目描述给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2-&g...原创 2019-08-21 18:05:33 · 229 阅读 · 0 评论 -
LeetCode四数之和——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/4sum题目描述给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给...原创 2019-08-21 13:58:23 · 593 阅读 · 0 评论 -
LeetCode最长公共前缀——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-prefix题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“ca...原创 2019-08-15 20:36:54 · 849 阅读 · 0 评论 -
LeetCode最长回文子串——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-substring题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “...原创 2019-06-30 12:40:16 · 803 阅读 · 1 评论 -
LeetCode寻找有序数组的中位数——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays题目:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nu...转载 2019-06-26 18:36:00 · 658 阅读 · 0 评论 -
Leetcode两数相加链表——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开...原创 2019-06-23 21:46:57 · 353 阅读 · 0 评论 -
Leetcode两数之和数组——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], targ...原创 2019-06-23 21:24:19 · 577 阅读 · 3 评论 -
LeetCode无重复字符的最长子串——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2...转载 2019-06-23 22:35:14 · 970 阅读 · 0 评论 -
LeetCode整数反转——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-integer题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符...转载 2019-08-03 20:12:32 · 325 阅读 · 0 评论 -
LeetCode字符串转换整数——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/string-to-integer-atoi题目请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的...原创 2019-08-03 22:05:46 · 318 阅读 · 0 评论 -
LeetCode回文数——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-number题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121...转载 2019-08-06 17:09:16 · 512 阅读 · 0 评论 -
LeetCode正则表达式——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/regular-expression-matching题目描述给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素示例 1:输入:s = “aa”p = “a”输出: ...转载 2019-08-06 18:58:22 · 678 阅读 · 0 评论 -
LeetCode盛最多水的容器——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/container-with-most-water题目描述给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容...原创 2019-08-09 00:13:11 · 440 阅读 · 0 评论 -
LeetCode整数转罗马数字——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/integer-to-roman题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C ...原创 2019-08-09 11:53:05 · 241 阅读 · 0 评论 -
LeetCode罗马数字转整数——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/roman-to-integer题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C ...原创 2019-08-09 13:18:23 · 362 阅读 · 0 评论 -
LeetCode电话号码的字母组合——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number题目描述给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", ...原创 2019-08-20 23:11:02 · 2368 阅读 · 0 评论 -
LeetCodeZ字形变换——C
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/zigzag-conversion题目将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,...原创 2019-06-30 13:41:16 · 250 阅读 · 0 评论