随笔分类 -  LeetCode

上一页 1 ··· 8 9 10 11 12
摘要:一、题目 1、审题 2、分析 去除链表的倒数第 n 个元素,并返回链表 二、解答 1、分析: 方法一: a、遍历确定链表节点个数 total; b、去除第 total - n 个节点; 方法二: a、采用指针,slow 指向头结点,fast 指向距离头结点为 n 的节点; b、slow 与 fast 阅读全文
posted @ 2018-08-03 08:36 skillking2 阅读(128) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 求所给数组中选取4个数字之和等于 target 的所有组合。 二、解答 1、分析: a、数组进行排序,依次遍历数组下标为 i 的元素 ; b、遍历元素时,target - nums[i] 即为 剩余的数组中的元素求三数之和。 阅读全文
posted @ 2018-08-02 23:50 skillking2 阅读(102) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给出数字组成的字符串,求他所对应电话号码中的字母所组成的字符串的集合。 二、解答 1、分析: a、依次截取字符串中的数字,作为switch 语句的条件调用 case; b、case 中将原 List 中所有字符串与数字对应的字母集合 List 进行全连接; c、注意: 阅读全文
posted @ 2018-08-02 21:29 skillking2 阅读(97) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给出一个数字数组,求其中三个元素的和让其最接近 target。 二、解答 1、分析: a、将数组 nums 排序,遍历数组中元素; b、遍历下标为 i 的元素时,取 low 指针指向下标为 i + 1 的元素, high 指向数组最后一个元素下标; c、循环判断 当 阅读全文
posted @ 2018-08-02 20:49 skillking2 阅读(99) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给出一个数字型数组,求任意三个数组中数字和为0的所有组合。 二、解答 1、分析: a、将数组 nums 排序,遍历数组中元素; b、遍历下标为 i 的元素时,取 low 指针指向下标为 i + 1 的元素, high 指向数组最后一个元素下标; c、循环判断 当 lo 阅读全文
posted @ 2018-08-02 19:28 skillking2 阅读(83) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 求出字符串素组的最长共同前缀。 二、解答 1、分析: 方法一: a、求出数组中长度最短的字符串作为临时共同前缀; b、遍历字符串数组,判断每一个元素是否拥有临时前缀 Y: 返回临时前缀 N:c c、临时前缀减去最后一个字符,进行 b; 方法二: a、将第一个元素作为临时 阅读全文
posted @ 2018-08-02 09:33 skillking2 阅读(173) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题: 2、分析: 输入 1-3999 的罗马数字字符串,输出对应阿拉伯数字。 二、解答 1、分析: 字符串从左至右开始计算字符对应的阿拉伯数字, 若比相邻右一个字符所对应的数字大,则加上此字符对应数字; 若比相邻右一个字符所对应的数字小,则减去此字符对应的数字; 阅读全文
posted @ 2018-08-02 08:58 skillking2 阅读(112) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题: 2、分析 输入数字,转化为罗马符号输出,数范围为 1-3999. 二、解答 1、分析: ①将罗马数字符号的 千位、百位、十位、各位 均列出分别作为一个数组; ②输入的数字各个位数分别为①中的数组的下标,进行拼装即可; 阅读全文
posted @ 2018-08-01 21:17 skillking2 阅读(112) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题: 2、分析: 给出纵坐标的数组,求两个坐标所能组成的最大面积。 二、解答 1、分析: a、记数组下标 low=0 和 high=数组长-1; b、low 和 high 相向而行,求得所组成最大面积; 其中判断条件为,若 low 所在纵坐标 比 high所在纵坐标大,则 high- 阅读全文
posted @ 2018-08-01 20:35 skillking2 阅读(80) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题: 2、分析: 两个字符串,其中 '.' 可以代表任意一个字符; ‘*‘ 代表0或多个前一个字符的长度扩充, 判断 两字符串是否可以匹配; 二、解答 1、分析: a、当 p 长度为 0 时,只需判断 s 长度是否为0 b、当 s 长度为 0 时,看 p 的第二个字符是否为 * : 阅读全文
posted @ 2018-08-01 20:01 skillking2 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题: 2、分析: 判断数字是否回文 二、解答 1、分析: 方法一: 将数字反转,看是否和反转前相等 方法二:仅反转 x 的一半,在判断是否回味 方法三:利用 StringBuffer 的 reverse方法 直接进行判断; 阅读全文
posted @ 2018-08-01 09:29 skillking2 阅读(152) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题: 2、分析: 截取所给字符串的最前面的数字部分,否则为0; 二、解答 1、分析: a、字符串去前后空格; b、判断正负号; c、依次截取字符,判断是否为数字,进行组装; 阅读全文
posted @ 2018-08-01 09:05 skillking2 阅读(138) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题: 2、分析: 将所给整数进行翻转,注意溢出。 二、解答 1、分析: 方法一、将所给整数化为字符数组,翻转后重新组合成整数。 方法二:不用借助数组,直接进行翻转 阅读全文
posted @ 2018-07-30 08:54 skillking2 阅读(132) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题: 2、分析: 将所给字符串按照之字型展开成 n 行,展开后按照行将其输出,求组成的新字符串。 二、解答 1、分析: 考虑用数组存放之字形图形的每一行,由于每一个行并非一次确定,故StringBuffer比较适合。图形分为上升、下降两种趋势,用 flag 进行标识,从而可以确定每个 阅读全文
posted @ 2018-07-30 08:06 skillking2 阅读(128) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题: 2、分析 求字符串最长的回文子串 二、解答 1、分析: 方法一: 依次遍历字符串的字符,同时将该字符作为中间字符,向左右延伸进行比较,选出最长回文子串,此时回文子串有奇数偶数之分,为了方便,可以在所给字符串相隔字符之间均加上字符“#", 从而化为只有奇数的一种情况,最终将所求出 阅读全文
posted @ 2018-07-29 08:45 skillking2 阅读(118) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题: 2、分析 求两个给出的有序数组整合后的最中间的数字; 二、解答 1、方法一、 暴力法: 新建一个数组存放两个所给数组的元素;然后根据数组长度来取出中间的数;注意分数组中元素个数为奇数和偶数情况; 时间复杂度为 O(log(m+n)) 方法二、 ① 不需要将两个数组真的合并,我们 阅读全文
posted @ 2018-07-29 07:46 skillking2 阅读(118) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题: 2、分析: 求最长非重复字符子串的长度 二、解答 1、分析: 方法一、 ① 非重复字符的子串长度。用 Map的Key来存放字符,Value 来存放下标。 ② maxLen 记录所求最长子串长度,初始为0;low 指针指向所考虑子串的最左边字符所在下标,high 指针指向最右边的 阅读全文
posted @ 2018-07-23 15:09 skillking2 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题: 2、题意: 两个非空链表,加法运算,有进位的 二、解答: 1、分析: 用 while 循环进行判断,同时用标志 sign 记录每一次进位。注意两个链表可能不等长。 阅读全文
posted @ 2018-07-23 08:41 skillking2 阅读(88) 评论(0) 推荐(0) 编辑
摘要:一、审题 1、描述: 2、题意: 求两数和为 target 的这两数下标 二、解答 若采用循环需要两层for,考虑用 Map 的 key 记录值,value 记录其所在下标,则时间复杂度为 n; 阅读全文
posted @ 2018-07-22 16:49 skillking2 阅读(108) 评论(0) 推荐(0) 编辑

上一页 1 ··· 8 9 10 11 12