LeetCode
haoyutiangang
这个作者很懒,什么都没留下…
展开
-
LeetCode: 8. 字符串转整数(atoi)
题目实现 atoi,将字符串转为整数。提示: 仔细考虑所有输入情况。如果你想挑战自己,请不要看下面并自己考虑所有可能的输入情况。说明: 这题解释的比较模糊(即没有指定输入格式)。你得事先汇集所有的输入情况。atoi的要求:这个函数需要丢弃之前的空白字符,直到找到第一个非空白字符。之后从这个字符开始,选取一个可选的正号或负号后面跟随尽可能多的数字,并将其解释为数字的值。字符串...原创 2018-04-07 22:50:32 · 150 阅读 · 0 评论 -
LeetCode: 6. Z字形转换
题目将字符串 “PAYPALISHIRING” 以Z字形排列成给定的行数:(下面这样的形状)P A H NA P L S I I GY I R之后按逐行顺序依次排列:”PAHNAPLSIIGYIR”实现一个将字符串进行指定行数的转换的函数:string convert(string text, int nRows);convert(“PAYP...原创 2018-04-07 12:07:53 · 815 阅读 · 1 评论 -
LeetCode: 5. 最长回文子串
题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 长度最长为1000。示例:输入: "babad"输出: "bab"注意: "aba"也是有效答案示例:输入: "cbbd"输出: "bb"分析回文子串,从中间往两边判断一次循环,两种情况:奇数个,偶数个解题class Solution { publi...原创 2018-04-07 11:51:04 · 124 阅读 · 0 评论 -
LeetCode: 4. 两个排序数组的中位数
题目有两个大小为 m 和 n 的排序数组 nums1 和 nums2 。请找出两个排序数组的中位数并且总的运行时间复杂度为 O(log (m+n)) 。示例 1:nums1 = [1, 3]nums2 = [2]中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]中位数是 (2 + 3)/2 = 2.5分析算中...原创 2018-04-07 11:28:18 · 165 阅读 · 0 评论 -
LeetCode: 3. 无重复字符的最长子串
题目给定一个字符串,找出不含有重复字符的 最长子串 的长度。示例:给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。给定 “pwwkew” ,最长子串是 “wke” ,长度是3。请注意答案必须是一个子串,”pwke” 是 子序列 而不是子串。分析最长不重复子串,需要判断...原创 2018-04-07 11:14:18 · 961 阅读 · 0 评论 -
LeetCode: 2. 两数相加
题目给定两个非空链表来代表两个非负整数,位数按照逆序方式存储,它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807分析加法参数...原创 2018-04-07 10:23:29 · 80 阅读 · 0 评论 -
LeetCode: 1. 两数之和
题目给定一个整数数列,找出其中和为特定值的那两个数。你可以假设每个输入都只会有一种答案,同样的元素不能被重用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]分析数组元素依次两两相加(0 <= i < length, i+1 <...原创 2018-04-07 10:04:31 · 168 阅读 · 0 评论 -
LeetCode: 14. 最长公共前缀
题目编写一个函数来查找字符串数组中最长的公共前缀字符串。分析依次比较解题class Solution { public String longestCommonPrefix(String[] strs) { if (strs.length == 0) { return ""; } Str...原创 2018-04-11 08:31:23 · 1661 阅读 · 0 评论 -
LeetCode: 13. 罗马数字转整数
题目给定一个罗马数字,将其转换成整数。返回的结果要求在 1 到 3999 的范围内。罗马数字罗马数字字母罗马数字只有7个字母组成,每个字母代码的字如下 字母 数字 M 1000 D 500 C 100 L 50 X 10 V 5 I 1四个规则相同的...原创 2018-04-11 08:30:33 · 240 阅读 · 0 评论 -
LeetCode: 12. 整数转罗马数字
题目给定一个整数,将其转为罗马数字。输入保证在 1 到 3999 之间。罗马数字罗马数字字母罗马数字只有7个字母组成,每个字母代码的字如下 字母 数字 M 1000 D 500 C 100 L 50 X 10 V 5 I 1四个规则相同的数字连写, ...原创 2018-04-11 08:29:47 · 232 阅读 · 0 评论 -
LeetCode: 11. 盛最多水的容器
题目给定 n 个正整数 a1,a2,…,an,其中每个点的坐标用(i, ai)表示。 画 n 条直线,使得线 i 的两个端点处于(i,ai)和(i,0)处。请找出其中的两条直线,使得他们与 X 轴形成的容器能够装最多的水。注意: 你不能倾斜容器,n 至少是2。分析思路一:暴力双遍历时间复杂度为 O(n^2)思路二:双指针减少循环的核心思路是省去没有必要的遍历...原创 2018-04-09 23:22:37 · 1175 阅读 · 0 评论 -
LeetCode: 10. 正则表达式匹配
题目实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。'.' 匹配任意单个字符。'*' 匹配零个或多个前面的元素。匹配应该覆盖整个输入字符串(不是部分字符串)。函数:bool isMatch(const char *s, const char *p)例子:isMatch("aa","a") → falseisMatch("aa","aa") → trueisMatc...原创 2018-04-09 00:13:30 · 280 阅读 · 0 评论 -
LeetCode: 9. 回文数
题目判断一个整数是否是回文数。不能使用辅助空间。一些提示:负整数可以是回文数吗?(例如 -1)如果你打算把整数转为字符串,请注意不允许使用辅助空间的限制。你也可以考虑将数字颠倒。但是如果你已经解决了 “颠倒整数” 问题的话,就会注意到颠倒整数时可能会发生溢出。你怎么来解决这个问题呢?本题有一种比较通用的解决方式。分析负数不是回文数颠倒数字比较大小注意用中间...原创 2018-04-07 23:14:54 · 210 阅读 · 0 评论 -
LeetCode: 7. 颠倒整数
题目给定一个范围为 32 位 int 的整数,将其颠倒。例 1:输入: 123输出: 321例 2:输入: -123输出: -321例 3:输入: 120输出: 21注意:假设我们的环境只能处理 32 位 int 范围内的整数。根据这个假设,如果颠倒后的结果超过这个范围,则返回 0。分析负号单独处理/10 进行循环,data*...原创 2018-04-07 13:58:25 · 107 阅读 · 0 评论